前置准备
- 服务器上必须安装JDK或者JRE。
- 服务器需要安装Nacos,Sentinel,Redis,MySQL等环境。(按照项目技术选型而定)
添加配置
-
在父(foot)工程的pom.xml中添加配置
<packaging>pom</packaging>
-
在每一个有入口类的子服务的pom.xml中添加配置
<packaging>jar</packaging> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
注意:common服务的pom.xml中无需添加该配置。
Maven打包
本文采用的是Maven自动打包,无序关系各个服务之间的依赖关系。
在IDEA安装的Maven插件中,打开每一个子服务的Maven模块下都会显示:
- Lifecycle:常用到的命令列表。
- Plugins:插件列表。
- Dependencies:服务部署所依赖的包列表。
- 打开root工程的Maven模块 ——> Lifecycle
- 点击clean命令,清除当前项目的target目录。
- 点击package命令,进行自动打包,最后每一个服务的jar包在当前项目的每一个服务的target目录中。
注意:也可以使用install命令代替package命令,install命令也可以对项目进行自动打包。和package命令的区别在于,install命令比package命令多了一个步骤,install命令在将项目打包完成后,会将jar / war部署到Maven本地仓库。
部署jar包
部署各个服务的jar包:
java -jar xxx.jar
如果服务的配置文件(例如:application.yml)中包含中文字符,那么会部署失败,有两种解决方案:
-
将配置文件中的所有中文字符删除。
-
在部署命令中增加编码参数。
java -Dfile.encoding=utf-8 -jar xxx.jar
注意:common服务的jar包不需要单独部署。