4. 软件开发的环境搭建

目录

1. 搭建环境

1.1 检查 JDK

1.2 检查 MySQL 数据库

1.3 检查 Maven

1.4 检查 GITEE+GIT

1.5 安装插件 

1.5.1 安装 Spring Boot Helper

1.5.2 安装 lombok

1.6 创建仓库

1.6.1 登录 GITEE 创建仓库并复制仓库地址

1.6.2 克隆到本地

1.7 创建工程

1.7.1 设置编码集

1.7.2 自动导包

1.7.3 代码补全

1.7.4 配置 Maven

1.7.5 测试 Maven 打包

1.7.6 跳过 Maven 测试阶段

1.8 单元测试

1.9 开启热部署 

1.10 选择 yml 文件

1.11 环境测试

1.11.1 创建测试接口

1.11.2 在 Maven 中声明全局变量

1.12 通过 Git 推送至远程仓库


1. 搭建环境

1.1 检查 JDK

确认 JDK 版本为1.8

# 输⼊java -version 检查JDK配置是否成功
C:\Users\***>java -version# 输⼊javac -version 检查JRE配置是否成功
C:\Users\***>javac -version

1.2 检查 MySQL 数据库

确认 MySQL 版本:

在 MySQL Workbench 中输入以下语句:

SELECT @@version;

SHOW VARIABLES
WHERE variable_name LIKE 'version%';

1.3 检查 Maven

  • 确认版本为 3.5.x 及以上
  • 自己安装 Maven 环境时,验证,打开终端输入 mvn -v,输出如下信息说明配置成功

  •  添加国内仓库镜像,以阿里云仓库镜像为例:
    • 自己安装 Maven 环境时,打开解压目录下conf\settings.xml文件
    • 使用 Idea 自带的 Maven 时,打开 Idea 安装路径 \plugins\maven\lib\maven3\conf\settings.xml
    • 在 mirrors 节点中加入如下配置
<mirrors><!-- mirror| Specifies a repository mirror site to use instead of a given 
repository. The repository that| this mirror serves has an ID that matches the mirrorOf element of this 
mirror. IDs are used| for inheritance and direct lookup purposes, and must be unique across 
the set of mirrors.--><!-- 加⼊如下mirror节点 使⽤国内阿⾥云仓库镜像 开始 --><mirror><id>aliyun-public</id><mirrorOf>*</mirrorOf><name>aliyun public</name><url>https://maven.aliyun.com/repository/public</url></mirror><mirror><id>aliyun-central</id><mirrorOf>*</mirrorOf><name>aliyun central</name><url>https://maven.aliyun.com/repository/central</url></mirror><mirror><id>aliyun-spring</id><mirrorOf>*</mirrorOf><name>aliyun spring</name><url>https://maven.aliyun.com/repository/spring</url></mirror><!-- 加⼊如下mirror节点 使⽤国内阿⾥云仓库镜像 结束-->
</mirrors>

1.4 检查 GITEE+GIT

  • 注册 GITEE 账号
  • 终端输入 git --version 输入以下信息说明安装成功

整个的发布流程如下图所示:

1. 生产环境从 GIT 下载最新版本代码;

2. 使用 Maven 打包;

3. 运行

1.5 安装插件 

1.5.1 安装 Spring Boot Helper

1.5.2 安装 lombok

1.6 创建仓库

1.6.1 登录 GITEE 创建仓库并复制仓库地址
1.6.2 克隆到本地
在CMD中进入自己的工作目录,执行克隆命令后,会在该目录下生成⼀个和仓库名同名的工程文件夹,这将是论坛的工程的目录。

1.7 创建工程

1.7.1 设置编码集

1.7.2 自动导包

1.7.3 代码补全

取消勾选:

1.7.4 配置 Maven

1.7.5 测试 Maven 打包

1.7.6 跳过 Maven 测试阶段

1.8 单元测试

工程创建好后,进行单元测试:

1.9 开启热部署 

1. 确认 pom.xml 中已经引用依赖:

2. 在 Settings 对应栏目中勾选如下选项:

1.10 选择 yml 文件

删除原来 resources目录下的application.properties文件,并创建application.yml文件,后缀也
可以为yaml:内容如下:
spring:application:name: 论坛 # 项⽬名output:ansi:enabled: ALWAYS # 控制台输出彩⾊⽇志
# 服务器配置
server:port: 58080 # 指定端⼝号# ⽇志配置
logging:pattern:dateformat: HH:mm:sslevel:root: info # 默认⽇志级别com.example.demo: debug # 指定包的⽇志级别file:path: D:/log/project/forum # ⽇志保存⽬录

再次运行:

可以看到配置成功生效了。

1.11 环境测试

1.11.1 创建测试接口

@Slf4j //日志
@RestController //表示在 Body 中返回数据
@RequestMapping("/test") // 一级映射路径
public class TestController {@GetMapping("/hello") // 二级映射路径public String hello() {return "Hello, Spring Boot...";}
}

测试成功,运行结果如下: 

1.11.2 在 Maven 中声明全局变量

定义全局的版本号: 

<!-- JAVA 版本 --><java.version>1.8</java.version><!-- 编译环境JDK版本 --><maven.compiler.source>${java.version}</maven.compiler.source><!-- 运⾏环境JVM版本 --><maven.compiler.target>${java.version}</maven.compiler.target><!-- 构建项⽬指定编码集 --><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
在 Maven 栏目,双击package,运行命令:

1.12 通过 Git 推送至远程仓库

方法一:

方法二:

# 查看当前状态,列出未修改后添加的⽂件
D:\code\java\WorkSpaces\idea\project\bit_forum> git status
# 添加修改后的⽂件到暂存区,再次运⾏git status,上⾯的⽂件会变为绿⾊显⽰
D:\code\java\WorkSpaces\idea\project\bit_forum> git add .
# 提交到本地仓库
D:\code\java\WorkSpaces\idea\project\bit_forum> git commit -m '第⼀次提交'
# 推送到远程仓库
D:\code\java\WorkSpaces\idea\project\bit_forum> git push

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/65378.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu下gif动态图片的制作

Gif图片比视频小, 比静态JPG图片形象生动, 更适用于产品展示和步骤演示等。各种各样的gif动图为大家交流提供很大的乐趣. 这里简单介绍ubuntu系统下gif图的制作。 一、工具安装: kazam和ffmpeg kazam是linux下的一款简单但是功能强大的屏幕录制工具. 它可录制声音并选择全屏录…

Benchmarking Augmentation Methods for Learning Robust Navigation Agents 论文阅读

论文信息 题目&#xff1a;Benchmarking Augmentation Methods for Learning Robust Navigation Agents: the Winning Entry of the 2021 iGibson Challenge 作者&#xff1a;Naoki Yokoyama, Qian Luo 来源&#xff1a;arXiv 时间&#xff1a;2022 Abstract 深度强化学习和…

redis设置database 不生效剖析

设置database 不生效剖析 前言配置加载类问题commons-pool 对象池 主页传送门&#xff1a;&#x1f4c0; 传送 前言 事情是这样的 今天在拉取了同事的代码做redis缓存设置的时候&#xff0c;发现即使已经设置了database, 但是存数据的时候还是用的默认0数据库。这引起了我的好…

WebSocket与消息推送

B/S结构的软件项目中有时客户端需要实时的获得服务器消息&#xff0c;但默认HTTP协议只支持请求响应模式&#xff0c;这样做可以简化Web服务器&#xff0c;减少服务器的负担&#xff0c;加快响应速度&#xff0c;因为服务器不需要与客户端长时间建立一个通信链接&#xff0c;但…

Qt中将信号封装在一个继承类中的方法

QLabel标签类对应的信号如下&#xff1a; Qt中标签是没有双击&#xff08;double Click&#xff09;这个信号的&#xff1b; 需求一&#xff1a;若想双击标签使其能够改变标签中文字的内容&#xff0c;那么就需要自定义一个“双击”信号&#xff0c;并将其封装在QLabel类的派生…

Programming abstractions in C阅读笔记:p107-p110

《Programming Abstractions In C》学习第46天&#xff0c;p107-p110&#xff0c;3.1小节——“The concept of interface”&#xff0c;总结如下&#xff1a; 一、技术总结 1.client p108&#xff0c;调用library的program称为client。 2.interface p108&#xff0c;“To do …

马来西亚的区块链和NFT市场调研

马来西亚的区块链和NFT市场调研 基本介绍 参考&#xff1a; https://zh.wikipedia.org/wiki/%E9%A9%AC%E6%9D%A5%E8%A5%BF%E4%BA%9A zz制度&#xff1a;联邦议会制 语言文字&#xff1a; 马来语 民族&#xff1a; 69.4%原住民&#xff08;土著&#xff09;&#xff0c;23.2%…

GPT-NER:使用大型语言模型进行命名实体识别

讲在前面&#xff0c;chatgpt出来的时候就想过将其利用在信息抽取方面&#xff0c;后续也发现了不少基于这种大语言模型的信息抽取的论文&#xff0c;比如之前收集过的&#xff1a; https://github.com/cocacola-lab/GPT4IE https://github.com/RidongHan/Evaluation-of-ChatG…

Stable Diffusion教程(9) - AI视频转动漫

配套抖音视频教程&#xff1a;https://v.douyin.com/UfTcrcJ/ 安装mov2mov插件 打开webui点击扩展->从网址安装输入地址&#xff0c;然后点击安装 https://github.com/Scholar01/sd-webui-mov2mov 最后重启webui 下载模型 从国内liblib AI 模型站下载模型 LiblibAI哩…

windows安装apache-jmeter-5.6.2教程

目录 一、下载安装包&#xff08;推荐第二种&#xff09; 二、安装jmeter 三、启动jmeter 一、下载安装包&#xff08;推荐第二种&#xff09; 1.官网下载&#xff1a;Apache JMeter - Download Apache JMeter 2.百度云下载&#xff1a;链接&#xff1a;https://pan.baidu.…

如何查询多级菜单(采用递归的方法)

应用场景 1.京东 京东的页面就是这么显示的在家用电器下面有电视.空调.洗衣机然后再电视下面又有全面屏电视.教育电视等等 2.我们的后端管理系统 我们后端在页面上显示的很多也是通过层级目录的显示出来。 如何实现 1.准备数据库 我们这里parent_id为0的为我们的一级菜单 …

python_day19_正则表达式

正则表达式re模块 导包 import res "python java c c python2 python python3"match 从头匹配 res re.match("python", s) res_2 re.match("python2", s) print("res:", res) print(res.span()) print(res.group()) print("…