为什么';Maven中是否包含本地存储库的依赖关系?
我有一个包含pom.xml的项目,其中包含一个简单的依赖项:为什么';Maven中是否包含本地存储库的依赖关系?,maven,jenkins,jar,build,dependencies,Maven,Jenkins,Jar,Build,Dependencies,我有一个包含pom.xml的项目,其中包含一个简单的依赖项: <dependency> <groupId>com.somegroupid</groupId> <artifactId>LocalProject</artifactId> <version>1.0-SNAPSHOT</version> </dependency> 我的猜测是,项目jar没有包含在构建中,当jenki
<dependency>
<groupId>com.somegroupid</groupId>
<artifactId>LocalProject</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
我的猜测是,项目jar没有包含在构建中,当jenkins试图构建它时,它会在中央存储库中查找它,但实际上没有找到它。(正如预期的那样,因为依赖项仅在我的本地存储库中可用)
如何确保在构建时包含依赖项
当jenkins试图构建它时,它会在中央存储库中查找它,但实际上没有找到它。(正如预期的那样,因为依赖项仅在我的本地存储库中可用)
你说得对
据我所知,你有两种方法来解决这个问题
1-专业解决方案(更好)
使用artifactory(我使用这个)或nexus创建一个内部maven存储库,并在此repo中部署jar、模块和依赖项。将存储库服务器配置为从internet下载依赖项。将Jenkins上的maven配置为使用本地maven存储库服务器,而不是其他类似服务器
这是一个很好的解决方案,如果你与一个优秀的开发团队合作,你可以控制人们在使用什么和什么版本
2-解决方案
只需将com.somegroupid:LocalProject:jar文件放在jenkins服务器的.m2/repository目录中
[注意]如果您很忙,并且本地依赖的文件很少,请使用此解决方案第一个解决方案需要我的远程服务器访问本地计算机上的本地maven存储库?如果我的电脑在詹金斯建房时关掉了怎么办?那么防火墙等呢?或者我的看法是错误的?第二种解决方案可能会奏效,我接受了你的答案,但现在无法应用,因为我通过在我的项目中的一个单独的包中包含所需的类来修复它。
[WARNING] The POM for com.somegroupid:LocalProject:jar:1.0-SNAPSHOT is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.563 s
[INFO] Finished at: 2017-08-26T13:19:47+02:00
[INFO] Final Memory: 9M/31M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project MainProject: Could not resolve dependencies for project com.somegroupid:MainProject:war:1.0-SNAPSHOT: Could not find artifact com.somegroupid:LocalProject:jar:1.0-SNAPSHOT -> [Help 1]