一.项目结构

1.父项目pom结构,三个子项目,分别是pojo,mapper,cost

spring boot 程序打包 springboot打包pom_maven

 

 

 

 2.子项目pom分别如下依赖

 >1.  cost模块

spring boot 程序打包 springboot打包pom_tomcat_02

 

 

 

>2. mapper模块

 

spring boot 程序打包 springboot打包pom_maven_03

 

 

 

二. 配置plugin插件

1.删除所有模块块下的所有plugin插件(不能在父模块pom下加plugin插件,不然会出现找不到包之类的异常,无法打包完成)

2.在带main方法启动的模块中pom加上plugin插件,分别是指定启动类的路径和跳过打包测试

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--  指定该Main Class为全局的唯一入口 -->
                    <mainClass>com.arsn.CostApplication</mainClass>
                </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>

 

三. 打包( .jar或者 .war )

在父工程下 Lifecycle 下先clean下,然后 install 打包就行

spring boot 程序打包 springboot打包pom_spring boot 程序打包_04

 

四.发布

1.由于我这边使用了jsp,所以项目是打包成war的

<!--添加 jsp 引擎,SpringBoot 内置的 Tomcat 中没有此依赖-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>

2.由于springboot内置有tomcat,所以不用将项目放入外置的tomcat中也可以运行

操作: cmd -->进入war所在的目录-->输入命令: java -jar ***.war 

 

3.可能出现的问题

Exception in thread "main" java.lang.ClassNotFoundException 找不到主方法类,可能是在打包插件plugin中写的路径名称不对导致,需要注意