Java 仅当Maven依赖项存在时才包括它
我有一个问题,我有一个项目是在一个系统,包括模块的基础上。这些模块是其他maven项目,从系统POM中引用。我的问题是我和一个同事共享系统项目,我们有不同的模块 那么,有没有办法告诉Maven,我只想在POM中包含一个引用的模块,前提是这个模块存在?我的意思是,没有编译失败Java 仅当Maven依赖项存在时才包括它,java,maven,Java,Maven,我有一个问题,我有一个项目是在一个系统,包括模块的基础上。这些模块是其他maven项目,从系统POM中引用。我的问题是我和一个同事共享系统项目,我们有不同的模块 那么,有没有办法告诉Maven,我只想在POM中包含一个引用的模块,前提是这个模块存在?我的意思是,没有编译失败 谢谢 Use DependencyManagement是将所有依赖项信息拉入公共POM文件,简化子POM文件中的引用。Use DependencyManagement是将所有依赖项信息拉入公共POM文件,简化子POM文件中的
谢谢 Use DependencyManagement是将所有依赖项信息拉入公共POM文件,简化子POM文件中的引用。Use DependencyManagement是将所有依赖项信息拉入公共POM文件,简化子POM文件中的引用。有几种解决方案,取决于你能做什么/想实现什么 一种方法是在公司的本地局域网或您和同事共享的局域网中安装Maven存储库服务器。构建系统,然后将模块连接到服务器 在您的构建中,您可以如下方式添加此新服务器: 或者您可以复制基本系统,并使用mvn安装在本地构建它。这将把所有工件复制到本地缓存中
从那里,你可以像往常一样参考它们。您不需要包含所有模块;正是你真正需要的。这样,你和你的朋友就不必使用相同的依赖关系。根据你能做什么/想实现什么,有几种解决方案 一种方法是在公司的本地局域网或您和同事共享的局域网中安装Maven存储库服务器。构建系统,然后将模块连接到服务器 在您的构建中,您可以如下方式添加此新服务器: 或者您可以复制基本系统,并使用mvn安装在本地构建它。这将把所有工件复制到本地缓存中
从那里,你可以像往常一样参考它们。您不需要包含所有模块;正是你真正需要的。这样,您和您的朋友就不必使用相同的依赖项。我建议在文件/exists选项中使用并激活它们。我建议在文件/exists选项中使用并激活它们。我想您可以将其声明为可选。我想你可以把它声明为可选的。
<project>
...
<repositories>
<repository>
<id>my-internal-site</id>
<url>http://myserver/repo</url>
</repository>
</repositories>
...
</project>