Bla*_*Eye 4 maven-plugin maven maven-central maven-metadata
我认识到 Maven 并不总是使用最新版本的插件。
例如,org.codehaus.mojo:sonar-maven-plugin
2.7 版本已于 10 月 19 日发布,但在 10 月 23 日,Maven ( mvn sonar:sonar
)仍在使用 2.6 。
我什至记得一些插件,其中最新版本比 Maven 决定使用的版本高出几个小版本。
是否有任何(中央)索引/列表/数据库,Maven 会在其中查找要使用的版本?如果是,在哪里可以手动访问?
据我所知,此链接将回答您的问题。
自动插件版本解析
当在 POM 或命令行中没有给出明确版本的情况下调用插件时,Maven 2.x 通常会选择可用的最新版本,其中最新版本可以是发行版或快照。为了稳定性,Maven 3.x更喜欢最新的发布版本而不是最新的快照版本。
考虑到自动插件版本解析带来的不可重现构建的威胁,就 POM 中的插件声明而言,计划删除此功能。Maven 3.x 的用户会发现,当检测到缺少插件版本时,它会输出一条警告,以鼓励将插件版本添加到 POM 或其父 POM 之一。Enforcer 规则 requirePluginVersions 还可用于检查 POM 中缺少的插件版本
我知道这是一个古老的线程,但为了后代和准确性:所有pom.xml
的逻辑都是从超级 POM继承的。您始终可以pom.xml
通过键入以下内容来查看“真实”的样子:
mvn help:effective-pom
Run Code Online (Sandbox Code Playgroud)
pom.xml
打印的结果是超级 POM、您的pom.xml
,当然还有混合中的任何父 POM 的组合。
超级 POM 由org.apache.maven.model.superpom.DefaultSuperPomProvider
类提供( https://github.com/apache/maven/blob/bce33aa2662a51d18cb00347cf2fb174dc195fb1/maven-model-builder/src/main/java/org/apache/maven/model/superpom/DefaultSuperPomProvider.java #L56-L85)。它加载的资源是org/apache/maven/model/pom-4.0.0.xml
(https://github.com/apache/maven/blob/bce33aa2662a51d18cb00347cf2fb174dc195fb1/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.0.0.xml# L23-L149 )。
归档时间: |
|
查看次数: |
1334 次 |
最近记录: |