如何锁定我想要使用的Maven插件的版本?
我有PMD插件配置如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.5</version>
<configuration>
<outputDirectory>target/pmd</outputDirectory>
<targetDirectory>target/</targetDirectory>
<aggregate>true</aggregate>
<targetJdk>1.6</targetJdk>
<rulesets>
<ruleset>rulesets/basic.xml</ruleset>
<ruleset>rulesets/codesize.xml</ruleset>
<ruleset>rulesets/coupling.xml</ruleset>
<ruleset>rulesets/design.xml</ruleset>
<ruleset>rulesets/imports.xml</ruleset>
<ruleset>rulesets/logging-java.xml</ruleset>
<ruleset>rulesets/optimizations.xml</ruleset>
<ruleset>rulesets/strings.xml</ruleset>
<ruleset>rulesets/unusedcode.xml</ruleset>
</rulesets>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
昨晚,我的夜间构建失败,我不能再运行任何pmd目标,因为它试图找到该插件的2.6-SNAPSHOT版本.如果我有一个2.5的版本标签,它为什么甚至试图找到2.6-SNAPSHOT?此外,2.6-SNAPSHOT不在中心 - 为什么我的maven客户认为它存在?
Maven版本:2.0.9
Java版本:1.6.0_17
操作系统名称:"linux"版本:"2.6.24-24-generic"arch:"i386"系列:"unix"
编辑:
我升级到maven 2.2.1并观察到与以前相同的问题.通过从我的存储库(.m2/repository/org/apache/maven/plugins/maven-pmd-plugin/maven-metadata-central.xml)中的元数据中删除2.6-SNAPSHOT,我能够构建项目.我还将latestVersion标记设置为2.5.这显然不是解决方案,因为我必须部署自己的插件或更改所有客户端上的缓存版本.
这种情况下的标准程序:删除本地存储库中相应的插件文件夹:
.m2/repository/org/apache/maven/plugins/maven-pmd-plugin/
Run Code Online (Sandbox Code Playgroud)
这在大多数情况下都有帮助。
如果没有,您可能从存储库中获取了错误数据。如果您使用的是 Nexus,请重建索引。
| 归档时间: |
|
| 查看次数: |
780 次 |
| 最近记录: |