我遇到了问题,我的项目基于包含模块的系统。此模块是其他maven项目,并从系统POM引用。我的问题是我与同事共享系统项目,我们有不同的模块。
那么,有没有办法告诉Maven我想要包含我的POM中引用的模块,只有这个模块存在?我的意思是,没有编译失败。
谢谢!
答案 0 :(得分:1)
使用dependencyManagementis将所有依赖关系信息提取到一个公共POM文件中,从而简化了子POM文件中的引用。
答案 1 :(得分:1)
我建议使用profiles并在file/exists
选项上激活它们。
答案 2 :(得分:0)
有几种解决方案,取决于您可以做/想要实现的目标。
一种方法是在您的公司安装Maven存储库服务器(在您的本地LAN或您和您的同事共享的LAN中)。构建系统,然后deploy模块到服务器。
在您的构建中,您可以像这样添加此新服务器(documentation):
<project>
...
<repositories>
<repository>
<id>my-internal-site</id>
<url>http://myserver/repo</url>
</repository>
</repositories>
...
</project>
或者您可以复制基本系统并使用mvn install
在本地构建它。这会将所有工件复制到本地缓存中。
从那里,您可以照常引用它们。您不需要包含所有模块;只是你真正需要的。这样,您和您的朋友就不必使用相同的依赖项。