赞
踩
模块关系:
- A:代表父工程
- B:代表WEB模块,主加载类所在模块
- S:业务处理模块
- D:数据处理模块
- E:基础模块
依赖关系如下:
- D依赖E
- S依赖E
- B依赖D,B依赖S
第一次进行maven多模块的打包,在打包过程中遇到了些许问题(模块关系与依赖关系如上所述):
**注意:**父工程中打包方式需要设置为
pom
,子工程中不需要设置打包方式示例:
<packaging>pom</packaging>
- 1
即父工程的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>
即
主加载类所在模块
,如果有多个模块有主加载类,则都需要加上注意:
- 子 pom 文件中一定要指定
spring-boot-maven-plugin
插件和主启动类的 全类名 。<packaging>jar</packaging>
打包类型写Jar
包。(这个我不确认,我没有加,如果不行的话可以加上试试)
<!--spring boot打包的话需要指定一个唯一的入门--> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- 指定该Main Class为全局的唯一入口 --> <mainClass>com.lzj.WebDemoApplication</mainClass> <layout>ZIP</layout> </configuration> <executions> <execution> <goals> <!--可以把依赖的包都打包到生成的Jar包中--> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
在父工程下进行打包(有root标识)
**步骤:**点击Maven->点击父工程(如图中是
aws_demo
)->Lifecycle->clean->install->package打完包后就可以进行部署了
经过上述打包操作后,拥有主加载类的模块中的jar包就可以在linux或windows中去运行了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。