Java Maven模块+构建单个特定模块
我有一个父项目多模块Maven项目P和三个子模块A
,B
和C
。这两个B
和C
是战项目,都依赖于A。
我可以输入mvn compile
在P
和拥有所有的子模块正确的编译的。当我要对特定模块进行操作时,问题就来了。
我希望能够为项目打包战争B
,但是当我从B
的目录运行package
命令时,它抱怨找不到的依赖项A
。
我从这个问题中了解到:Maven和相关模块,也许Maven并不是真正为这种类型的依赖关系解决而设计的,但这引出了我该如何打包的问题B
?
mvn package
当我真的想要时,是否必须为整个项目层次结构运行B?每次打包时都必须将A的快照安装到本地存储库中
B
吗?
当A
仍在积极开发中时,第二种情况就不好玩了。
回答:
这里有最佳做法吗?
使用Maven 高级反应堆选项,更具体地说:
-pl, --projects Build specified reactor projects instead of all projects
-am, --also-make
If project list is specified, also build projects required by the list
因此,只需cd
进入父P目录并运行:
mvn install -pl B -am
这将构建B和B所需的模块。
请注意,如果引用artifactId
的目录名称与目录名称不同,则需要使用冒号:
mvn install -pl :B -am
以上是 Java Maven模块+构建单个特定模块 的全部内容, 来源链接: utcz.com/qa/405286.html