最近,Apache Maven似乎遇到了缓存问题。使用Windows Vista或Windows 7在我们的项目上执行干净安装,有时会产生具有与以前构建相同数据的工件,即使较新的工件的文件应该已经更新。
有没有办法清除这个缓存,迫使maven总是触发应该构建的本地工件的干净构建?
特别是,我们在使用war插件构建web应用程序时遇到了问题。Maven版本是3.0.3。War插件版本为2.1.1。
最近,Apache Maven似乎遇到了缓存问题。使用Windows Vista或Windows 7在我们的项目上执行干净安装,有时会产生具有与以前构建相同数据的工件,即使较新的工件的文件应该已经更新。
有没有办法清除这个缓存,迫使maven总是触发应该构建的本地工件的干净构建?
特别是,我们在使用war插件构建web应用程序时遇到了问题。Maven版本是3.0.3。War插件版本为2.1.1。
当前回答
您是否检查/更改了settings.xml中存储库的updatePolicy设置。
此元素指定更新应该尝试发生的频率。 Maven将比较本地POM的时间戳(存储在存储库中) maven-元数据文件)到远程。选择是:总是,每天 (默认值),间隔:X(其中X为整数,单位为分钟)或从不。
试着把它设置为always。
其他回答
您是否检查/更改了settings.xml中存储库的updatePolicy设置。
此元素指定更新应该尝试发生的频率。 Maven将比较本地POM的时间戳(存储在存储库中) maven-元数据文件)到远程。选择是:总是,每天 (默认值),间隔:X(其中X为整数,单位为分钟)或从不。
试着把它设置为always。
删除c:\Users\<username>\。M2 \资源库的手。
这适用于Spring Tool Suite v 3.1.0。RELEASE,但是我猜它也可以在Eclipse上使用。
在/用户名/。M2目录,重新索引文件,执行以下操作:
至:
Windows->首选项->Maven->用户设置菜单。
单击“本地存储库”文本框旁边的“重新索引”按钮。点击“应用”,然后点击“确定”,你就完成了。
这里有一些命令可以用于清理
1. mvn clean cache
2. mvn clean install
3. mvn clean install -Pclean-database
此外,从.m2中删除存储库文件夹也会有所帮助。
使用mvn dependency:purge-local-repository - dacttransitive =false -Dskip=true如果你有maven插件作为模块之一。否则,Maven将尝试重新编译它们,从而再次下载依赖项。