window下 springboot 聚合项目pom打包发布war
一.项目结构
1.父项目pom结构,三个子项目,分别是pojo,mapper,cost
2.子项目pom分别如下依赖
>1. cost模块
>2. mapper模块
二. 配置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 打包就行
四.发布
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中写的路径名称不对导致,需要注意