今天开发人员工程环境中新引入了json-lib-2.4.jar,通过jenkins调用maven自动编译打包一直报错找不到此依赖包,
具体如下:
[ERROR] Failed to execute goal on project SP_FrontStage: Could not resolve dependencies for project com.hddata.steganalysis:SP_FrontStage:war:1.0-SNAPSHOT: Failure to find net.sf.json-lib:json-lib:jar:2.4 in https://repo.maven.apache.org/maven2 was cached
in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
试了网上的很多方法,例如:删除了目录重新下载编译;先clean再编译……均无果;
想想,找不到这个依赖包,说明这个包没有下载下来,手动下载安装怎么样?
于是手动下载了此jar包,通过mvn命令引入到了本地库;
命令如下:
mvn install:install-file -Dfile=f:/json-lib-2.4-jdk15.jar -DgroupId=net.sf.json-lib -DartifactId=json-lib -Dversion=2.4 -Dpackaging=jar
注意:DgroupId DartifactId Dversion 这三项要和我们工程中pom.xml文件中配置的一致;
至此,在本地再次编译打包,顺利完成;
接下来,在测试服务器采用同样 的方式下载安装,但却仍然报找不到json-lib-2.4.jar;
这时用到了如下命令:
mvn clean install -X 可以查看到maven完整的依赖踪迹,发现jenkins调用的依赖库目录为
C:\windows\system32\config\systemprofile\.m2\repository\;
进入此依赖库发现,jar名称是json-lib-2.4.jar.lastUpdated,多了最后的lastUpdated(具体原因未知)
而我们安装的jar目录保存在C:\Users\user\.m2\repository这个目录
将此目录下的jar拷贝到jenkins引用的依赖库,重新启动构建,顺利完成;
至此问题解决,但是maven引用的依赖库如何设置?为何服务器jenkins引用的依赖库和默认的不一致?待调研
解决Jenkins Maven编译找不到json-lib依赖的问题
本文介绍了在使用Jenkins进行Maven编译时遇到找不到json-lib依赖库的问题,通过手动下载jar包并使用mvn命令安装到本地库,解决了本地编译问题。但在测试服务器上,发现Jenkins使用的依赖库路径不同,经过查找发现jar被保存在了不同的目录。将jar复制到Jenkins的依赖库路径下,成功完成构建。对于Maven依赖库的配置和Jenkins服务器的特殊设置仍需进一步调查。
1301

被折叠的 条评论
为什么被折叠?



