我已将 Jenkins 集成到我的 Maven Selenium Java 项目中。我有一个“SeleniumUtils-0.0.2-14.0.0.0.jar”,在 POM.xml 中引用为:
<dependency>
<groupId>com.disney.gqe</groupId>
<artifactId>SeleniumUtils</artifactId>
<version>0.0.2-14.0.0.0</version>
</dependency>
这个Jar是之前的编码员在本地交给我的。当时 Jenkins 构建还没有实现。 该项目在 Eclipse 中本地运行良好,引用 m2/repo 文件夹中的 jar。当我在 Jenkins 中使用“全新安装”进行构建时,出现错误: 中心下载:https://repo.maven.apache.org/maven2/com/disney/gqe/SeleniumUtils/0.0.2-14.0.0.0/SeleniumUtils-0.0.2-14.0.0.0.jar
我不希望 Maven 在中央搜索这个 jar,因为我在本地有它。如何在本地添加 Jenkins repo 文件夹中的文件并构建项目?
最佳答案
@JFMeier 是绝对正确的,您应该将依赖项放在托管的 Maven 存储库中。
但是,如果您没有,您可以执行以下操作:
<dependency>
<groupId>com.disney.gqe</groupId>
<artifactId>SeleniumUtils</artifactId>
<version>0.0.2-14.0.0.0</version>
<scope>system</scope>
<systemPath>path/to/the/jar</systemPath>
</dependency>
请注意,我并不是说这是一个好主意,但是具有系统
范围的依赖关系将阻止 Maven 从外部查找依赖关系。
系统范围依赖项的问题是,现在每次有人(其他人)需要进行构建时,他们都必须将 jar 放在与您相同的位置。您可以通过在每个用户的 settings.xml
中引入属性参数来规避此问题,但现在您遇到了需要管理的维护问题。
您已收到警告。
关于java - 强制 Maven 使用内部和外部依赖 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60604813/