如何配置及清理Maven构建缓存
编译构建提供了构建缓存功能,构建时可将依赖缓存于用户私有存储空间,下次构建时直接使用,无需重复下载,可极大提高构建效率。
构建缓存配置
新建编译构建任务时,默认选择使用缓存加速构建,用户可以在配置“Maven构建”步骤时选择是否使用缓存。
缓存清理步骤
由于网络抖动、并发构建或其他极端情况,可能出现缓存内容异常导致构建异常,本章节介绍异常缓存的清理过程。
![](https://support.huaweicloud.com/codeci_faq/public_sys-resources/notice_3.0-zh-cn.png)
执行缓存清理操作前,请务必仔细阅读以下缓存清理风险以及注意事项:
- 由于缓存目录为同租户共享,频繁清理缓存会概率性导致同租户用户构建异常(常表现为“xxx文件不存在”),故只可在缓存异常时清理,任务执行成功后务必再次编辑任务,删除清理命令,并且在执行清理缓存操作的同时,不要执行其他的使用缓存的编译构建任务。
- 清理缓存时需要使用精确的文件路径,如:清理XXX厂商demo 1.0.0版本,请使用命令rm -rf /path/com/xxx/demo/1.0.0。尽量避免删除目录层级过高,导致下次构建缓慢或因网络问题导致依赖异常。
- 出于安全考虑,缓存清理命令只可在“Maven构建”步骤执行,在其他步骤执行此命令会导致“目录不存在”或”清理无效”等报错。
- 单击构建任务列表操作列
,进入“编译构建编辑”页面。
- 选择mvn xxxx。 ,找到命令行
- 在命令行“mvn xxx”前输入缓存清理命令,单击“保存”。
缓存清理命令格式为:rm -rf /repository/local/maven/{groupId}/{artifactId}/{version},需填入的参数分别对应依赖包坐标中的groupId、artifactId、version,其中,groupId中的点会被自动分割为层级目录。
若依赖包如下:<dependency> <groupId>com.xxx.xxx</groupId> <artifactId>demo</artifactId> <version>1.0.9-SNAPSHOT</version> </dependency>
则清理该依赖包所需命令为:rm -rf /repository/local/maven/com/xxx/xxx/demo/1.0.9-SNAPSHOT。
- 重新执行构建任务,执行成功后按照上面步骤再次编辑任务,移除清理缓存命令。