繁体   English   中英

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

[英]Is it necessary to specify version of a maven plugin in pom?

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

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

当在没有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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM