如何修复XXX:jar:1.0的POM,缺少相关信息

时间:2019-04-16 07:27:32

标签: spring-boot jenkins

我们试图构建我们的项目(带有Maven 3.3.9依赖管理的Spring Boot 2.0.3)Jenkins工具(Linux环境)。它说构建失败,并在控制台“ org.actus的POM:ACTUS- Core-1.0:jar:1.0丢失,没有依赖项信息可用。“ ACTUS是我们开发的自定义Java库,它也在本地存储库中。

这是我们第一次开始使用Jenkins工具。还有一些其他模块依赖于同一个ACTUS jar。这些模块也都失败了。我已经在Internet上搜索了解决方案。有人说要对settings.xml文件进行更改。但是在我们的开发机器中,我们找不到任何这样的类型settings.xml文件(在.m2中)

其余所有依赖项仅是正常的spring boot依赖项。这是唯一的一个外部或自定义jar。使用mvn install,我们将其保留在maven本地存储库中。

<dependency>
    <groupId>org.actus</groupId>
    <artifactId>ACTUS-Core-1.0</artifactId>
    <version>1.0</version>
</dependency>

1 个答案:

答案 0 :(得分:0)

我将尽力解释解决您的问题的方法。我希望您正在寻找settings.xml以更新您的maven Nexus存储库。如果您不了解nexus存储库,那么您将获得所有开放源代码依赖项,这是一种公共回购。

  1. 对于您的情况,在您的组织中,您应该有一个私有的关系存储库,并将ACTUS-Core jar上传到那里。
  2. 然后更新您的settings.xml文件以使用公司的nexus存储库。 (请检查注释,它将在M2_HOME位置可用)
  3. 因此,当您自动执行 mvn install 时,它将上传到您的私有存储库中。
  4. 现在,在您的pom.xml中提及相同的nexus存储库。 (可选)
  5. 然后,在您的Jenkins脚本中,您已更新了此联系仓库。

因此,关键是您应该拥有自己的存储库以上传ACTUS-Core jar,并且在使用Jenkin工具进行构建时需要访问它。

或其他

如果您发现上述所有活动都令人痛苦/不可能,那么我可以建议一个捷径解决方案。

  1. 在项目名称(与 src 相同的层次结构)下创建一个 lib 文件夹,然后添加ACTUS-Core.jar并将该文件与源代码一起提交。 / li>
  2. 然后,如下更新您的pom文件。会起作用的。
       <dependency>
            <groupId>com.test</groupId>
            <artifactId>test</artifactId>
            <version>11.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/fileName.jar</systemPath>
        </dependency>