项目环境:
- spring-boot
- maven多模块项目
- 需要引入的外部jar包
目录结构图如下:
方式一, 打war包:
1. 在对应子模块的pom.xml
文件中引入jar包,本例因为在common和web 模块都引入了,因此则都需要分分别引入,common的pom.xml配置如下:
groupId、artifactId、version都是可以自己随意填的,当然最好还是按照一定得规律填写,方便区分,上图中红框中的部分就是需要特别注意的地方,scope
只能填写 system
,systemPath
则填写被引入jar包在项目中的位置。
注意:
${project.basedir}
和${basedir}
都表示项目根目录,即包含pom.xml文件的目录,这两个都是maven预定义的内置属性,用户可以直接使用。
common
层pom.xml
的全部内容:
1 |
|
2. 配置web
模块pom.xml
1 |
|
使用误区:
1. 将jar包只放在web层,如果是其他子模块需要使用时候,则编译会出问题。
2. 将jar包只放在使用的模块,很多人会出现打包打不进去,因为你配置打包插件时没有使用子模块的相对路径,默认会使用当前模块的地址,
3. web模块和使用的模块都引入一次,打包能成功,使用也没问题,但是你不觉得很冗余吗,不够优雅。
最佳的方式:只在使用的模块引入jar包,在web层的pom.xml中配置子模块的jar包资源路径就行了
方式二, 打jar包:
1. 在用到此jar包的模块引入,同方式一的第一点类似。
2. 修改web
模块的打包方式为 jar
3. 为打包插件配置configuration
属性
1 | <plugin> |
web
模块完整的pom.xml
文件:
1 |
|