
# 如何配置及清理Maven构建缓存
编译构建提供了构建缓存功能，构建时可将依赖缓存于用户私有存储空间，下次构建时直接使用，无需重复下载，可极大提高构建效率。
#### 构建缓存配置
新建编译构建任务时，默认选择使用缓存加速构建，用户可以在配置"Maven构建"步骤时选择是否使用缓存。
![](https://support.huaweicloud.com/codeci_faq/zh-cn_image_0000001910750434.png)
#### 缓存清理步骤
由于网络抖动、并发构建或其他极端情况，可能出现缓存内容异常导致构建异常，本章节介绍异常缓存的清理过程。
![](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构建"步骤执行，在其他步骤执行此命令会导致"目录不存在"或"清理无效"等报错。
 
1. 单击构建任务列表操作列![](https://support.huaweicloud.com/codeci_faq/zh-cn_image_0000001944389609.png)，进入"编译构建编辑"页面。
2. 选择"构建步骤 \> Maven构建"，找到命令行mvn xxxx。
3. 在命令行"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。
   ![](https://support.huaweicloud.com/codeci_faq/zh-cn_image_0000001910910434.png "点击放大")
   
   
   
4. 重新执行构建任务，执行成功后按照步骤[1]\~[3]再次编辑任务，移除清理缓存命令。
 
