如何修复POM for XXX:jar:1.0缺失,没有可用的依赖项信息

问题描述 投票:0回答:1

我们尝试构建我们的项目(带有Maven 3.3.9依赖管理的Spring Boot 2.0.3)Jenkins Tool(Linux环境)。它说构建失败在控制台中显示以下消息“org.actus的POM:ACTUS-Core-1.0 :jar:缺少1.0,没有可用的依赖信息“.ACTUS是我们自己开发的自定义java库,它也在本地存储库中。

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

剩下的所有依赖项只是正常的spring boot依赖项。这是唯一一个外部或自定义jar.Using mvn install,我们保存在maven本地repo中。

<dependency>
    <groupId>org.actus</groupId>
    <artifactId>ACTUS-Core-1.0</artifactId>
    <version>1.0</version>
</dependency>
spring-boot jenkins
1个回答
0
投票

我会尽力解释你能解决你的问题。我希望您正在寻找settings.xml来更新您的maven Nexus存储库。如果您不了解nexus存储库,那么您将获得所有开源依赖项的公共存储库。

  1. 在您的情况下,从您的组织,您应该有一个私有nexus存储库并上传ACTUS-Core jar。
  2. 然后更新settings.xml文件以使用您公司的nexus存储库。 (请检查评论,它将在M2_HOME位置提供)
  3. 因此,当您自动执行mvn install时,它将上传到您的私有存储库中。
  4. 现在,在你的pom.xml中提到相同的nexus存储库。 (这是可选的)
  5. 然后,在您的Jenkins脚本中,您已更新此nexus repo。

所以,关键是你应该拥有自己的repo来上传ACTUS-Core jar,并且需要在构建Jenkin工具时访问它。

要不然

如果你发现所有上述活动都很痛苦/不可能,那么我可以建议一个简短的解决方案。

  1. 在项目名称下创建一个lib文件夹(与src相同的层次结构),然后添加您的ACTUS-Core.jar并将该文件与源代码一起提交。
  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>
© www.soinside.com 2019 - 2024. All rights reserved.