Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅当Maven依赖项存在时才包括它_Java_Maven - Fatal编程技术网

Java 仅当Maven依赖项存在时才包括它

Java 仅当Maven依赖项存在时才包括它,java,maven,Java,Maven,我有一个问题,我有一个项目是在一个系统,包括模块的基础上。这些模块是其他maven项目,从系统POM中引用。我的问题是我和一个同事共享系统项目,我们有不同的模块 那么,有没有办法告诉Maven,我只想在POM中包含一个引用的模块,前提是这个模块存在?我的意思是,没有编译失败 谢谢 Use DependencyManagement是将所有依赖项信息拉入公共POM文件,简化子POM文件中的引用。Use DependencyManagement是将所有依赖项信息拉入公共POM文件,简化子POM文件中的

我有一个问题,我有一个项目是在一个系统,包括模块的基础上。这些模块是其他maven项目,从系统POM中引用。我的问题是我和一个同事共享系统项目,我们有不同的模块

那么,有没有办法告诉Maven,我只想在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>