首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >父POM.xml驻留在何处

父POM.xml驻留在何处
EN

Stack Overflow用户
提问于 2014-11-06 15:53:59
回答 1查看 887关注 0票数 2

我是Maven的新手,如果这是一个非常基本的问题,那么请原谅我。

我正在做一个使用maven的项目,当我为我的项目传递site命令时,我得到了错误。

代码语言:javascript
复制
[ERROR] Failed to execute goal
    org.apache.maven.plugins:maven-site-plugin:3.1:site (default-site) 
    on project mobileads: Execution default-site of goal
    org.apache.maven.plugins:maven-site-plugin:3.1:site
    failed: A required class was missing while executing
    org.apache.maven.plugins:maven-site-plugin:3.1:site:
    org/sonatype/aether/graph/DependencyFilter

我知道maven-site-plugin有一个问题:3.1版本。

如果我显式地包含了最新版本的maven-site- disappears.But (3.4)这个问题,我的问题是它在哪里拾取maven-site-plugin:3.1,因为在我的项目的pom.xml中我看不到这个插件,所以它指示我它正在从某个地方拾取一些默认设置。

我想知道该文件的名称以及该文件在resides中的位置,这样我就可以看到所有设置。我使用MAC。

提前谢谢。

拉杰什

EN

回答 1

Stack Overflow用户

发布于 2014-11-06 16:03:17

它在一个Maven发行版jars中,即在$MAVEN_HOME/lib/maven-core-X.X.X.jar中。在META-INF/plexus/components.xml文件中。原因如下:

曾几何时(在Maven2中),在没有明确指定之前,插件总是使用最新版本。这个决定基于两个假设:插件总是越来越好,所以你想获得最新的插件,而且,由于插件jars不是你产品的一部分(甚至不是它的生产类路径),所以它有时会崩溃是可以接受的。

后来他们意识到这是一个非常糟糕的想法,因为它使您的构建不可重现。因此,通过将插件的版本固定到Maven发布之日可用的插件的最新发布版本,修复了该问题。

因此,最好的做法是创建一个带有<pluginManagement>部件的父pom.xml,并确定在那里使用的所有插件的版本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26774325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档