当你在 Maven 项目中看到类似以下信息时:
This report summarizes newer versions that may be available for your project's various plugins.
这意味着 Maven 检测到你的项目中使用的某些插件有更新的版本可用。Maven 提供了这个报告,帮助你了解是否有更新的插件版本,以便你可以选择是否升级。
1. 为什么会出现这个报告?
Maven 会定期检查中央仓库(Maven Central Repository)中插件的版本,并与你项目中使用的插件版本进行比较。如果发现有更新的版本,Maven 会生成这个报告,提醒你更新插件。
2. 如何查看这个报告?
运行以下 Maven 命令时,可能会看到这个报告:
mvn clean install
或者:
mvn versions:display-plugin-updates
3. 报告的内容
报告通常包括以下信息:
- 插件名称:例如
maven-compiler-plugin
。 - 当前版本:例如
3.8.1
。 - 最新版本:例如
3.11.0
。 - 是否推荐更新:Maven 会标记哪些更新是推荐的。
示例输出:
[INFO] The following plugin updates are available:
[INFO] maven-compiler-plugin .................................. 3.8.1 -> 3.11.0
[INFO] maven-surefire-plugin .................................. 2.22.2 -> 3.0.0
4. 如何处理这个报告?
(1) 检查更新的插件
查看报告,了解哪些插件有更新版本。
(2) 决定是否更新
- 推荐更新:如果 Maven 标记为推荐更新,建议升级到最新版本。
- 非推荐更新:如果更新可能引入不兼容的更改,需谨慎评估。
(3) 更新插件版本
在 pom.xml
中修改插件的版本号。例如:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
</plugin>
</plugins>
</build>
(4) 重新构建项目
运行以下命令,确保更新后的插件正常工作:
mvn clean install
5. 使用 versions:display-plugin-updates
命令
Maven 提供了一个专门的命令来检查插件更新:
mvn versions:display-plugin-updates
这个命令会列出所有插件的更新信息,帮助你更好地管理插件版本。
6. 最佳实践
- 定期检查插件更新:确保项目使用的插件是最新且安全的。
- 测试更新后的插件:在升级插件后,运行测试以确保项目功能正常。
- 使用
<pluginManagement>
集中管理插件版本:在多模块项目中,使用<pluginManagement>
统一管理插件版本,避免重复配置。
7. 总结
Maven 的插件版本更新报告是一个非常有用的工具,帮助你了解项目中插件的更新情况。通过定期检查并更新插件,可以确保项目使用最新的功能和修复的 bug,同时提高项目的安全性和稳定性。
更多详细信息,请参考 Maven 官方文档:https://maven.apache.org/plugins/maven-versions-plugin/。
# of plugins using the latest version available 26
# of plugins where the next version available is smaller than an incremental version update 0
# of plugins where the next version available is an incremental version update 0
# of plugins where the next version available is a minor version update 1
# of plugins where the next version available is a major version update 0
# of plugins where a dependencies section containes a dependency with an updated version 3
Plugin Management
Status Group Id Artifact Id Current Version Next Version Next Incremental Next Minor Next Major Dependency status
com.mycila license-maven-plugin 3.0
net.revelc.code.formatter formatter-maven-plugin 2.8.1
org.apache.maven.plugins maven-antrun-plugin 1.8
org.apache.maven.plugins maven-assembly-plugin 3.1.1
org.apache.maven.plugins maven-clean-plugin 3.1.0
org.apache.maven.plugins maven-compiler-plugin 3.8.0
org.apache.maven.plugins maven-dependency-plugin 3.1.1
org.apache.maven.plugins maven-deploy-plugin 3.0.0-M1
org.apache.maven.plugins maven-install-plugin 3.0.0-M1
org.apache.maven.plugins maven-javadoc-plugin 3.0.1
org.apache.maven.plugins maven-pdf-plugin 1.4
org.apache.maven.plugins maven-release-plugin 2.5.3
org.apache.maven.plugins maven-resources-plugin 3.1.0
org.apache.maven.plugins maven-shade-plugin 3.2.1
org.apache.maven.plugins maven-site-plugin 3.7.1
org.apache.maven.plugins maven-surefire-plugin 3.0.0-M3
org.codehaus.mojo versions-maven-plugin 2.7
org.eluder.coveralls coveralls-maven-plugin 4.3.0
org.gaul modernizer-maven-plugin 1.7.1 1.8.0
org.jacoco jacoco-maven-plugin 0.8.5
Status Group Id Artifact Id Current Version Next Version Next Incremental Next Minor Next Major Dependency status
Plugins
Status Group Id Artifact Id Current Version Next Version Next Incremental Next Minor Next Major Dependency status
org.apache.felix maven-bundle-plugin 4.1.0
org.apache.maven.plugins maven-checkstyle-plugin 3.0.0
org.apache.maven.plugins maven-enforcer-plugin 3.0.0-M1
org.apache.maven.plugins maven-jar-plugin 3.1.1
org.apache.maven.plugins maven-scm-plugin 1.11.1
org.codehaus.mojo animal-sniffer-maven-plugin 1.17
org.codehaus.mojo clirr-maven-plugin 2.8
Status Group Id Artifact Id Current Version Next Version Next Incremental Next Minor Next Major Dependency status
Plugin Updates
Plugin com.mycila:license-maven-plugin
Status No newer versions available.
Group Id com.mycila
Artifact Id license-maven-plugin
Current Version 3.0
Dependencies of com.mycila:license-maven-plugin
Status Group Id Artifact Id Current Version Classifier Type Next Version Next Incremental Next Minor Next Major
com.mycila license-maven-plugin-git 3.0 jar
Status Group Id Artifact Id Current Version Classifier Type Next Version Next Incremental Next Minor Next Major
Dependency com.mycila:license-maven-plugin-git
Status No newer versions available.
Group Id com.mycila
Artifact Id license-maven-plugin-git
Current Version 3.0
Classifier
Type jar
Plugin net.revelc.code.formatter:formatter-maven-plugin
Status No newer versions available.
Group Id net.revelc.code.formatter
Artifact Id formatter-maven-plugin
Current Version 2.8.1
Dependencies of net.revelc.code.formatter:formatter-maven-plugin
Status Group Id Artifact Id Current Version Classifier Type Next Version Next Incremental Next Minor Next Major
com.github.hazendaz build-tools 1.1.8 jar 1.2.0
Status Group Id Artifact Id Current Version Classifier Type Next Version Next Incremental Next Minor Next Major
Dependency com.github.hazendaz:build-tools
Status There is at least one newer minor version available. Minor updates are sometimes passive.
Group Id com.github.hazendaz
Artifact Id build-tools
Current Version 1.1.8
Classifier
Type jar
Newer versions 1.2.0 Next Minor
1.2.1
1.2.2 Latest Minor
Plugin org.apache.felix:maven-bundle-plugin
Status No newer versions available.
Group Id org.apache.felix
Artifact Id maven-bundle-plugin
Current Version 4.1.0
Plugin org.apache.maven.plugins:maven-antrun-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-antrun-plugin
Current Version 1.8
Plugin org.apache.maven.plugins:maven-assembly-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-assembly-plugin
Current Version 3.1.1
Plugin org.apache.maven.plugins:maven-checkstyle-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-checkstyle-plugin
Current Version 3.0.0
Dependencies of org.apache.maven.plugins:maven-checkstyle-plugin
Status Group Id Artifact Id Current Version Classifier Type Next Version Next Incremental Next Minor Next Major
com.github.hazendaz build-tools 1.1.8 jar 1.2.0
com.puppycrawl.tools checkstyle 8.16 jar 8.17
Status Group Id Artifact Id Current Version Classifier Type Next Version Next Incremental Next Minor Next Major
Dependency com.github.hazendaz:build-tools
Status There is at least one newer minor version available. Minor updates are sometimes passive.
Group Id com.github.hazendaz
Artifact Id build-tools
Current Version 1.1.8
Classifier
Type jar
Newer versions 1.2.0 Next Minor
1.2.1
1.2.2 Latest Minor
Dependency com.puppycrawl.tools:checkstyle
Status There is at least one newer minor version available. Minor updates are sometimes passive.
Group Id com.puppycrawl.tools
Artifact Id checkstyle
Current Version 8.16
Classifier
Type jar
Newer versions 8.17 Next Minor
8.18
8.19
8.20
8.21
8.22
8.23
8.24
8.25
8.26
8.27
8.28
8.29
8.30 Latest Minor
Plugin org.apache.maven.plugins:maven-clean-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-clean-plugin
Current Version 3.1.0
Plugin org.apache.maven.plugins:maven-compiler-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-compiler-plugin
Current Version 3.8.0
Plugin org.apache.maven.plugins:maven-dependency-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-dependency-plugin
Current Version 3.1.1
Plugin org.apache.maven.plugins:maven-deploy-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-deploy-plugin
Current Version 3.0.0-M1
Plugin org.apache.maven.plugins:maven-enforcer-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-enforcer-plugin
Current Version 3.0.0-M1
Plugin org.apache.maven.plugins:maven-install-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-install-plugin
Current Version 3.0.0-M1
Plugin org.apache.maven.plugins:maven-jar-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-jar-plugin
Current Version 3.1.1
Plugin org.apache.maven.plugins:maven-javadoc-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-javadoc-plugin
Current Version 3.0.1
Plugin org.apache.maven.plugins:maven-pdf-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-pdf-plugin
Current Version 1.4
Plugin org.apache.maven.plugins:maven-release-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-release-plugin
Current Version 2.5.3
Plugin org.apache.maven.plugins:maven-resources-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-resources-plugin
Current Version 3.1.0
Plugin org.apache.maven.plugins:maven-scm-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-scm-plugin
Current Version 1.11.1
Plugin org.apache.maven.plugins:maven-shade-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-shade-plugin
Current Version 3.2.1
Plugin org.apache.maven.plugins:maven-site-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-site-plugin
Current Version 3.7.1
Dependencies of org.apache.maven.plugins:maven-site-plugin
Status Group Id Artifact Id Current Version Classifier Type Next Version Next Incremental Next Minor Next Major
net.trajano.wagon wagon-git 2.0.3 jar 2.0.4
org.apache.maven.skins maven-fluido-skin 1.7 jar 1.8
org.apache.maven.wagon wagon-ssh 3.3.1 jar 3.3.2
Status Group Id Artifact Id Current Version Classifier Type Next Version Next Incremental Next Minor Next Major
Dependency net.trajano.wagon:wagon-git
Status There is at least one newer incremental version available. Incremental updates are typically passive.
Group Id net.trajano.wagon
Artifact Id wagon-git
Current Version 2.0.3
Classifier
Type jar
Newer versions 2.0.4 Next Incremental
Dependency org.apache.maven.skins:maven-fluido-skin
Status There is at least one newer minor version available. Minor updates are sometimes passive.
Group Id org.apache.maven.skins
Artifact Id maven-fluido-skin
Current Version 1.7
Classifier
Type jar
Newer versions 1.8 Next Minor
Dependency org.apache.maven.wagon:wagon-ssh
Status There is at least one newer incremental version available. Incremental updates are typically passive.
Group Id org.apache.maven.wagon
Artifact Id wagon-ssh
Current Version 3.3.1
Classifier
Type jar
Newer versions 3.3.2 Next Incremental
3.3.3
3.3.4 Latest Incremental
Plugin org.apache.maven.plugins:maven-surefire-plugin
Status No newer versions available.
Group Id org.apache.maven.plugins
Artifact Id maven-surefire-plugin
Current Version 3.0.0-M3
Plugin org.codehaus.mojo:animal-sniffer-maven-plugin
Status No newer versions available.
Group Id org.codehaus.mojo
Artifact Id animal-sniffer-maven-plugin
Current Version 1.17
Plugin org.codehaus.mojo:clirr-maven-plugin
Status No newer versions available.
Group Id org.codehaus.mojo
Artifact Id clirr-maven-plugin
Current Version 2.8
Plugin org.codehaus.mojo:versions-maven-plugin
Status No newer versions available.
Group Id org.codehaus.mojo
Artifact Id versions-maven-plugin
Current Version 2.7
Plugin org.eluder.coveralls:coveralls-maven-plugin
Status No newer versions available.
Group Id org.eluder.coveralls
Artifact Id coveralls-maven-plugin
Current Version 4.3.0
Plugin org.gaul:modernizer-maven-plugin
Status There is at least one newer minor version available. Minor updates are sometimes passive.
Group Id org.gaul
Artifact Id modernizer-maven-plugin
Current Version 1.7.1
Newer versions 1.8.0 Next Minor
Plugin org.jacoco:jacoco-maven-plugin
Status No newer versions available.
Group Id org.jacoco
Artifact Id jacoco-maven-plugin
Current Version 0.8.5