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