【发布时间】:2018-06-29 13:39:31
【问题描述】:
我遇到了maven-site plugins 3.3 java.lang.ClassNotFoundException: org.apache.maven.doxia.siterenderer.DocumentContent中描述的同样问题
我正在尝试设置 maven-site-plugin(至 3.7.1)和 maven-project-info-reports-plugin-version(至 3.0.0)的版本,如答案之一所述。我正在使用 Eclipse,因此我查看了我正在处理的 pom 文件的“有效 POM”选项卡,并且可以看到这些插件的版本是 3.7.1 和 3.0.0,正如我指定的那样。
但是,当我运行 mvn help:effective-pom 时,输出显示 maven-site-plugin 两次 - 我想要的版本是 3.7.1,另一个是 3.3 版本。当我运行 mvn site 时,输出显示它正在使用 maven-site-plugin 3.3。
所以我的问题是,对 maven-site-plugin 版本 3.3 的引用来自哪里,我该如何强制它使用 3.7.1?我已经在 pom 文件中指定了它,但它仍然使用 3.3 版。
这是我对 maven-site-plugin 的定义:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
顺便说一句,这是一个父 pom 文件,但它是我必须在其中引用 maven-site-plugin 或任何子 pom 文件的唯一参考。
我使用的是 maven 3.2.1 版。
【问题讨论】:
-
检查你的依赖树。
-
感谢有关 maven 依赖树的提示。我以前没有使用过它,它看起来应该告诉我哪个依赖项正在拉入意外版本的 maven-site-plugin。不幸的是,我很难从中获取我需要的信息。
-
您对如何使用 mvn dependency:tree 选项有任何提示吗?我目前正在使用“mvn dependency:tree -Dverbose -DoutputType=graphml”,但输出文件根本没有提到 maven-site-plugin。
-
它是一个完整的传递依赖树 - grep 输出?
-
我正在搜索输出,但我似乎没有得到完整的树。如果我是,那么我应该在某个地方看到 maven-site-plugin。我已经更改了我的 grep 语句来寻找另一个确实出现在输出文件中的 jar,它给了我我期望的输出。但是当我为 maven-site-plugin 更改为 grep 时,我什么也没找到。我想我一定是做错了什么,我没有得到一棵完整的树,并希望得到关于我的问题的建议 maven dependency:tree 命令。
标签: maven maven-3 maven-plugin maven-site-plugin