Jenkins:由于第三方 jar 导致构建失败:找不到工件 com.oracle:ojdbc7:jar:12.1.0.1.0
Jenkins: build failing because of third party jar : Could not find artifact com.oracle:ojdbc7:jar:12.1.0.1.0
在我的 windows 机器上:我设置了 jenkins CI 来自动创建构建。
但是每次构建都因为第三方 ojdbc7.jar
文件而失败。
[ERROR] Failed to execute goal on project abc-cc-onboarding-repository: Could not resolve dependencies for project com.abc.cc:abc-cc-onboarding-repository:jar:1.0-SNAPSHOT: Could not find artifact com.oracle:ojdbc7:jar:12.1.0.1.0 in central (https://repo.maven.apache.org/maven2) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
当我使用 mvn -U clean build
手动构建时,一切正常。
因为我已经在本地存储库 (.m2)
中手动安装了 ojdbc7.jar
Jenkins 与 maven 的集成出现问题。
有人可以对此提出建议吗?
Something is wrong with the Jenkins integration with maven.
没有。那不是问题。 Jenkins 与 Maven 的集成工作得很好。
问题是 ojdbc7.jar
不在 Maven Central 仓库中……这是 Maven 查找的默认位置。 (或者至少,它不在 Maven Central 中而不是那些工件 "coordinates"。有一些具有不同坐标的 ojdbc 工件。YMMV。)
真正的问题是 Oracle 不希望您从 Maven Central 下载 Oracle JAR。 Oracle 希望您改为从 他们的 Maven 存储库下载。
一个解决方案是做你一直在做的事情。只需将工件添加到您的本地存储库(或 Jenkins 的项目本地存储库)。但你对此并不满意。
另一种解决方案是配置 Maven 使用的远程存储库。
这是一个解释如何配置(独立)Maven 以包含 Oracle 存储库的页面:
对于 Jenkins 案例,您需要配置 Jenkins 服务器使用的设置:
- How to manage maven settings.xml on a shared jenkins server?
这列出了执行此操作的各种方法。
对我有用的解决方案:
分析后的发现,解决了我的问题,希望对像我这样的人有所帮助。
实际上 jenkins 为单独的项目创建了一个单独的存储库。
就像我的 jenkins 工作区中有 10 个项目,然后它会为每个项目创建 10 个存储库(在顶层项目中我们可以看到)。
所以现在我在我的 jenkins 项目回购中手动安装 ojdbc7.jar,它解决了我的问题。
以上错误多发生在Jenkins无法下载oracle jar时
对上述问题进行排序
- 通过管理主页中的 "Managed files" 在 Jenkins 中创建 settings.xml 和 settings-security.xml 文件。为此,请遵循 link - https://wiki.jenkins.io/display/JENKINS/Config+File+Provider+Plugin#ConfigFileProviderPlugin-Howitworks
注意:确保将您的 Oracle 凭据放入这两个文件中。为此,请遵循 link - https://docs.oracle.com/middleware/1213/core/MAVEN/config_maven_repo.htm#MAVEN9017
- 在构建环境配置下的 jenkins 项目中,将此文件包含在提供配置文件选项下。如下所示:
- 构建完成后应该可以工作。
在我的 windows 机器上:我设置了 jenkins CI 来自动创建构建。
但是每次构建都因为第三方 ojdbc7.jar
文件而失败。
[ERROR] Failed to execute goal on project abc-cc-onboarding-repository: Could not resolve dependencies for project com.abc.cc:abc-cc-onboarding-repository:jar:1.0-SNAPSHOT: Could not find artifact com.oracle:ojdbc7:jar:12.1.0.1.0 in central (https://repo.maven.apache.org/maven2) -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR]
当我使用 mvn -U clean build
手动构建时,一切正常。
因为我已经在本地存储库 (.m2)
ojdbc7.jar
Jenkins 与 maven 的集成出现问题。
有人可以对此提出建议吗?
Something is wrong with the Jenkins integration with maven.
没有。那不是问题。 Jenkins 与 Maven 的集成工作得很好。
问题是 ojdbc7.jar
不在 Maven Central 仓库中……这是 Maven 查找的默认位置。 (或者至少,它不在 Maven Central 中而不是那些工件 "coordinates"。有一些具有不同坐标的 ojdbc 工件。YMMV。)
真正的问题是 Oracle 不希望您从 Maven Central 下载 Oracle JAR。 Oracle 希望您改为从 他们的 Maven 存储库下载。
一个解决方案是做你一直在做的事情。只需将工件添加到您的本地存储库(或 Jenkins 的项目本地存储库)。但你对此并不满意。
另一种解决方案是配置 Maven 使用的远程存储库。
这是一个解释如何配置(独立)Maven 以包含 Oracle 存储库的页面:
对于 Jenkins 案例,您需要配置 Jenkins 服务器使用的设置:
- How to manage maven settings.xml on a shared jenkins server?
这列出了执行此操作的各种方法。
对我有用的解决方案:
分析后的发现,解决了我的问题,希望对像我这样的人有所帮助。
实际上 jenkins 为单独的项目创建了一个单独的存储库。 就像我的 jenkins 工作区中有 10 个项目,然后它会为每个项目创建 10 个存储库(在顶层项目中我们可以看到)。
所以现在我在我的 jenkins 项目回购中手动安装 ojdbc7.jar,它解决了我的问题。
以上错误多发生在Jenkins无法下载oracle jar时
对上述问题进行排序
- 通过管理主页中的 "Managed files" 在 Jenkins 中创建 settings.xml 和 settings-security.xml 文件。为此,请遵循 link - https://wiki.jenkins.io/display/JENKINS/Config+File+Provider+Plugin#ConfigFileProviderPlugin-Howitworks 注意:确保将您的 Oracle 凭据放入这两个文件中。为此,请遵循 link - https://docs.oracle.com/middleware/1213/core/MAVEN/config_maven_repo.htm#MAVEN9017
- 在构建环境配置下的 jenkins 项目中,将此文件包含在提供配置文件选项下。如下所示:
- 构建完成后应该可以工作。