繁体   English   中英

如何在多模块Maven项目中编译其中的单个模块?

[英]How to compile a single module inside it in a multi-module maven project?

这是该项目的外观:

  • moduleA

    -pom.xml

  • moduleB

    -pom.xml

  • 的pom.xml

moduleA对moduleB有依赖性。 我在父pom.xml中设置了<modules> ,在子pom.xmls中设置了其他配置。 而且我可以在父目录中运行mvn package ,但是每次我在moduleA目录中运行mvn package都会失败。

我知道在父目录中运行mvn package -pl moduleA可以解决此问题。 由于Apache Flume允许我在其自己的目录中编译任何模块,所以为什么我的项目不能?

代替启动目标“包”,而是在根pom(或仅是moduleB)上启动目标“安装”。 这会将moduleB放置在本地存储库(〜/ .m2 / repository)中,当Maven仅编译moduleA时,它将能够获取它。 然后,您将只能编译moduleA。

我遇到了这个问题: Maven会话未声明顶级项目

当我尝试通过命令行运行一个模块时,例如: mvn clean install -pl moduleA在寻找父模块的地方,因此,我尝试了此方法,并与: mvn clean install -pl .,moduleA一起使用您的情况下,您可以尝试此假设mvn clean install -pl .,moduleA --also-make是依赖关系已经在Maven mvn clean install -pl .,moduleA --also-make建立并且可用,否则mvn clean install -pl .,moduleA --also-make应该可以工作。 这将在多模块Maven项目和我们指定的“。”中仅构建一个特定项目。 它会建立父pom来解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM