自从我更新到Maven 3后,我在每次构建时收到以下警告消息:
我怎样才能摆脱这些警告?
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for proj:id:jar:3.1
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-javadoc-plugin is missing. @ line 195, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 204, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-surefire-plugin is missing. @ line 227, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-jar-plugin is missing. @ line 215, column 15
[WARNING] 'reporting.plugins.plugin.version' for org.codehaus.mojo:jdepend-maven-plugin is missing. @ line 271, column 15
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
7 回答
在
pom.xml
文件中的<plugin>
<artifactId>
之后添加<version>
元素 . 找到以下文本:添加版本标记:
应该解决警告 .
关于这个:
很多人都提到了问题发生的原因,但没有提出修复建议 . 我需要做的就是进入我的项目的POM文件,并添加
<version>
标签,如上所示 .要发现版本号,一种方法是在完成运行后查看Maven的输出 . 如果您缺少版本号,Maven将显示其默认版本:
获取该版本号(如上面的
2.3.2
)并将其添加到您的POM中,如图所示 .运行如下:
对于没有版本的插件 . 你得到输出:
使用输出中显示的版本 .
UPDATE 如果要在版本列表中进行选择,请使用http://search.maven.org/或http://mvnrepository.com/请注意,您最喜欢的Java IDE必须具有Maven包搜索对话框 . 只需检查文档 .
SUPER UPDATE 我也用:
最近我发现如何获得插件(或库)的 latest 版本,因此不再需要谷歌搜索或访问Maven Central:
Maven 3对POM结构的限制更多 . 例如,您必须设置插件版本 .
使用maven 3.1,这些警告可能会破坏你的构建 . maven2和maven3之间有更多变化:https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes
我正在为我的项目使用父pom,并希望在一个地方指定版本,所以我使用属性来指定版本:
父母pom:
项目pom:
另见:https://www.allthingsdigital.nl/2011/04/10/maven-3-and-the-versions-dilemma/
从以下网站获取最新版本信息:
https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin
单击最新版本(或您要使用的版本),您将看到依赖项信息:
您可能希望使用版本标记和插件标记的注释 .
如果您愿意,可以修改您的pom,以便在另一个答案中列出的属性标记中包含版本信息 .
它's great answer in here. And I want to add '为什么在Maven3'中添加一个元素 .
在Maven 3.x Compatibility Notes
我也发现maven-compiler-plugin - usage
在pom.xml中搜索“maven-jar-plugin”并添加版本标签maven版本