Maven 2 如何锁定maven插件版本

Maven 2 如何锁定maven插件版本,maven-2,pmd,Maven 2,Pmd,如何锁定要使用的Maven插件的版本 我的PMD插件配置如下: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>2.5</version>

如何锁定要使用的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>

org.apache.maven.plugins
maven pmd插件
2.5
目标/偏振模色散
目标/
真的
1.6
规则集/basic.xml
规则集/codesize.xml
规则集/coupling.xml
规则集/design.xml
规则集/imports.xml
规则集/logging-java.xml
规则集/optimizations.xml
规则集/strings.xml
规则集/unusedcode.xml
昨晚,我的夜间构建失败,我无法再运行任何pmd目标,因为它正在尝试查找该插件的2.6版快照。如果我有一个版本标签上写着2.5,为什么还要找2.6-SNAPSHOT呢?另外,2.6-SNAPSHOT不在central中-为什么我的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。这显然不是解决方案,因为我要么部署自己的插件,要么更改所有客户端上的缓存版本

这种情况下的标准程序:删除本地repo中相应的插件文件夹:

.m2/repository/org/apache/maven/plugins/maven-pmd-plugin/
这在大多数情况下都有帮助


如果不是,则可能是从存储库中获取了错误数据。如果您使用的是nexus,请重建索引。

它看起来像一个Maven bug。“version”标签专门用于修复插件版本,并确保您的构建是可复制的,即使有新的插件版本。您是否在Maven的一个较新版本上尝试过此功能,它们目前在2.2.1上。如果它在那里被修复了,那么它就是maven中的一个bug。升级似乎没有帮助(见上面的编辑),我让它工作了。问题是来自JBOSS存储库的插件元数据。我正在代理,这是导致问题的原因。我将代理更改为,删除了本地存储库,并能够构建。