引言
模块关系:
- A:代表父工程
- B:代表WEB模块,主加载类所在模块
- S:业务处理模块
- D:数据处理模块
- E:基础模块
依赖关系如下:
第一次进行maven多模块的打包,在打包过程中遇到了些许问题(模块关系与依赖关系如上所述):
- 如何进行打包
- 打包后jar包过小,检查后发现其中没有lib依赖
问题解决
**注意:**父工程中打包方式需要设置为pom
,子工程中不需要设置打包方式
示例:
<packaging>pom</packaging>
A模块pom文件配置
即父工程的pom.xml文件
注意:
- 父
pom
中一定要指定 maven-compiler-plugin
和 maven-surefire-plugin
插件。 <packaging>pom</packaging>
打包类型写 pom
包。
<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>
B模块pom文件配置
即主加载类所在模块
,如果有多个模块有主加载类,则都需要加上
注意:
- 子 pom 文件中一定要指定
spring-boot-maven-plugin
插件和主启动类的 全类名 。 <packaging>jar</packaging>
打包类型写 Jar
包。(这个我不确认,我没有加,如果不行的话可以加上试试)
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.lzj.WebDemoApplication</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
打包
在父工程下进行打包(有root标识)
**步骤:**点击Maven->点击父工程(如图中是aws_demo
)->Lifecycle->clean->install->package
打完包后就可以进行部署了
总结
经过上述打包操作后,拥有主加载类的模块中的jar包就可以在linux或windows中去运行了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)