是否有必要在pom中指定maven插件的版本?

时间:2014-03-24 21:46:26

标签: java maven netbeans

我正在使用NetBeans进行开发,它具有内置菜单功能,允许我们在pom中添加maven-checkstyle-plugin以进行代码格式化。但是,当您单击该菜单时,它会自动在pom中添加以下代码,但不包含<version>信息。现在,我的IDE继续抱怨边缘的一条小提示消息说“&#39;版本&#39;标签丢失了。我的问题是: 添加的所有插件是否必须在pom中有<version>标记?

的pom.xml

 <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <configuration>
                    <configLocation>config/sun_checks.xml</configLocation>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

1 个答案:

答案 0 :(得分:5)

没有必要,但强烈建议使用版本标记。

  

在没有POM中给出的显式版本的情况下调用插件时   或者在命令行中,Maven 2.x用于选择最新版本   最新版本可以是发布版本还是版本   快照。为了稳定起见,Maven 3.x更喜欢最新的   发布最新快照版本的版本。

     

鉴于自动施加的不可重现的构建的威胁   插件版本解析,此功能计划删除为   就POM中的插件声明而言。 Maven的用户   当检测到丢失的插件版本时,3.x会发现它会输出警告,以鼓励将插件版本添加到POM或   其中一个父POM。 Enforcer规则requirePluginVersions可以   另外用于检查POM中缺少的插件版本。

https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes