1 将springBoot打成jar包
springBoot使用maven聚合工程,有多个模块,打成jar包会稍微麻烦一点
首先在父类的pom.xml文件中,替换原来的Build
<!--build内容也需要做替换,因为默认的spring-boot-maven-plugin这种方式,等到后期打包的时候他会一直提示你,你引入的依赖不存在!-->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<skipTests>true</skipTests> <!--默认关掉单元测试 -->
</configuration>
</plugin>
</plugins>
</build>
然后再模块的启动类的pom.xml文件中声明Main class
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 指定该Main Class为全局的唯一入口 -->
<mainClass>com.mtnz.njk.NjkApplication</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
注意:在其他子模块中不需要build
如果模块有多个项目入口(有多个项目),在启动类pom.xml加上如上build即可(main class 要当前启动类的路劲)我的就是两个项目在一个聚合工程里,共用一个父类pom.xml
其中遇到了一个问题
我在mybatis中扫描的mapper文件名为小写,但是在项目中resources下的mapper文件夹名称为Mapper
(此问题项目在编译器中启动,mapper.xml可以正常访问,但是打成jar以后找不到xml,需要改文件夹名称为mapper才可找到,需要注意)然后我使用idea将springBoot项目打成jar
出现一下内容为成功
此时可以在我们的启动模块下target文件夹下找到打成的jar包
可以用命令到文件夹下启动jar文件
java -jar xxx.jar(文件名)
也可以在idea中直接右键启动
将项目打成jar包以后要将项目放到服务器中,我使用了nginx反向代理
要学习的只要如何配置nginx.conf
在这里我还是使用了以前的域名,只是又新建了几个路径以区别我新放上去的项目
这样在服务器中使用名称窗口使用java -jar命令启动项目
访问
app区分访问的是9998端口的项目
appManager区分访问的是9997端口的项目
这里需要注意一个问题
在项目的配置文件中要配置符合nginx代理的路径
至此大致完毕