在使用Jenkins实现自动化部署的时候提示了如下信息:
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /var/jenkins_home/workspace/mc-world-subject/mc-world-subject/mc-world-common/src/main/java/com/mcworld/subject/common/entity/Result.java:[4,14] package lombok does not exist
[ERROR] /var/jenkins_home/workspace/mc-world-subject/mc-world-subject/mc-world-common/src/main/java/com/mcworld/subject/common/entity/Result.java:[6,2] cannot find symbol
然后开始排查原因
主要原因就是在部署的时候,首先会执行mvn命令,下载相关的依赖,依赖已经下载到服务器文件夹,查看依赖是否存在。
这里的提示时没有找到Lombok相关的jar包,但是我的本地仓库中是存在的。
问题解决
由于我在conf/setting.cml中指定了代码仓库的位置,所以在服务器中下载的本地依赖也会存储在/var/jenkins_home/workspace/mc-world-subject/目录下,由于之前我是用的windows本地的setting.xml,指定位置是 <localRepository>E:\maven</localRepository>,在Linux系统中可能无法被识别,修改代码仓库位置错误问题解决,默认如果没有 <localRepository>的话会默认存储在${user.home}/.m2/repository中。