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

其中遇到了一个问题

spring boot 多模块打包和单模块打包的区别 springboot多模块打包成jar_jar


我在mybatis中扫描的mapper文件名为小写,但是在项目中resources下的mapper文件夹名称为Mapper

(此问题项目在编译器中启动,mapper.xml可以正常访问,但是打成jar以后找不到xml,需要改文件夹名称为mapper才可找到,需要注意)然后我使用idea将springBoot项目打成jar

spring boot 多模块打包和单模块打包的区别 springboot多模块打包成jar_jar_02

出现一下内容为成功

spring boot 多模块打包和单模块打包的区别 springboot多模块打包成jar_maven_03


此时可以在我们的启动模块下target文件夹下找到打成的jar包

可以用命令到文件夹下启动jar文件

java -jar xxx.jar(文件名)

也可以在idea中直接右键启动

spring boot 多模块打包和单模块打包的区别 springboot多模块打包成jar_spring_04


将项目打成jar包以后要将项目放到服务器中,我使用了nginx反向代理

要学习的只要如何配置nginx.conf

在这里我还是使用了以前的域名,只是又新建了几个路径以区别我新放上去的项目

spring boot 多模块打包和单模块打包的区别 springboot多模块打包成jar_spring_05


这样在服务器中使用名称窗口使用java -jar命令启动项目

访问

spring boot 多模块打包和单模块打包的区别 springboot多模块打包成jar_maven_06

app区分访问的是9998端口的项目

spring boot 多模块打包和单模块打包的区别 springboot多模块打包成jar_spring_07

appManager区分访问的是9997端口的项目

这里需要注意一个问题

在项目的配置文件中要配置符合nginx代理的路径

spring boot 多模块打包和单模块打包的区别 springboot多模块打包成jar_maven_08


spring boot 多模块打包和单模块打包的区别 springboot多模块打包成jar_spring_09


至此大致完毕