Maven编译过程中出现的问题
在用Jenkins编译Gitlab上代码过程中,实际使用的是Maven服务器上的打包命令,以下为打包过程中出现的问题及解决方案
问题一:Maven无法编译Snapshot版本代码
答:登录至maven所在服务器,修改settings.xml中的
<profile>
<id>snapshots</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>snapshots</id>
<name>Repository for JDK 1.4 builds</name>
<url>http://私服地址</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
问题二:使Maven使用私服地址下载依赖?
答:登录至maven所在服务器,修改settings.xml中的
<mirrors>
<mirror>
<id></id>
<mirrorOf></mirrorOf>
<name></name>
<url>http://私服地址</url>
</mirror>
</mirrors>
以上内容可询问研发人员
问题三: Jenkins每次build的时候观察过程都会发现maven在一直从私服下载依赖,不从本地缓存下载?
答: 登录至maven所在服务器,修改settings.xml中的
<localRepository>/home/jenkins/maven/cache</localRepository>(改为自己用的目录)
问题四:Jenkins编译Maven项目时,总是会提示私服缺少依赖,当上传完成后还会提示报错,类似下面这样;
答:如果私服确实没有的话,那么就需要手动上传,并且要在maven那台服务器上使用"mvn clean install -U"来强制更新,随后再使用构建命令执行操作尝试