maven站点插件3.3 java.lang.ClassNotFoundException:org.apache.maven.doxia.siterenderer.DocumentContent
从今晚开始,maven site 3.3插件停止工作 尝试删除本地存储库,但不进行更改。 Maven 3.3.9 java 1.8 pom中没有为站点插件定义配置或依赖项maven站点插件3.3 java.lang.ClassNotFoundException:org.apache.maven.doxia.siterenderer.DocumentContent,java,maven,Java,Maven,从今晚开始,maven site 3.3插件停止工作 尝试删除本地存储库,但不进行更改。 Maven 3.3.9 java 1.8 pom中没有为站点插件定义配置或依赖项 [WARNING] Error injecting: org.apache.maven.report.projectinfo.CiManagementReport java.lang.NoClassDefFoundError: org/apache/maven/doxia/siterenderer/DocumentConten
[WARNING] Error injecting: org.apache.maven.report.projectinfo.CiManagementReport
java.lang.NoClassDefFoundError: org/apache/maven/doxia/siterenderer/DocumentContent
你真的需要添加更多的信息(顺便说一句,我没有投反对票) IIRC;如果您没有为绑定到生命周期阶段的插件指定版本,您将获得最新版本 尝试:
- 升级至maven的最新版本-
ATOW
- 运行
并检查哪些版本可用 实际上正在解决-如果您有来自CI或其他地方的旧日志 与…相比李>mvn帮助:有效的pom
- 明确设置
version 在maven站点插件
部分pluginManagement
- 将依赖项添加到
(见下文)maven站点插件
org/apache/maven/doxia/siterenderer/DocumentContent
可在doxia站点呈现程序
中找到:
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-site-renderer</artifactId>
<version>1.8.1</version>
</dependency>
org.apache.maven.doxia
doxia站点渲染器
1.8.1
我怀疑明确地将maven站点插件的版本设置为您曾经使用过的任何版本(顺便说一句)都会起作用
Edit:在maven插件构建测试中也遇到了类似的问题,在集成pom中明确设置了
maven站点插件version(3.7.1 ATOW),由maven invoker插件使用对我有效。我刚开始在构建过程中遇到这个问题。对我来说,有效的方法是专门定义maven站点插件
和maven项目信息报告插件
,以及pom中的版本号
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
org.apache.maven.plugins
maven站点插件
3.7.1
org.apache.maven.plugins
maven项目信息报告插件
3.0.0
这是由于maven项目信息报告插件更新到3.0.0,并依赖doxia站点呈现程序1.8(并拥有org.apache.maven.doxia.siterender.DocumentContent
此类),但maven站点插件:3.3
依赖doxia站点呈现程序:1.4
(并且没有org.apache.maven.doxia.siterenderer.DocumentContent
)
我们可以在报告
部分中指定maven项目信息报告插件
版本:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
</plugin>
</plugins>
</reporting>
在pom的build
部分中。我今天在一些构建作业中也遇到了这个错误。上面建议的修复方法,为maven站点插件添加了一个具体的依赖项,确实有效并修复了这个问题
然而,它给我强调的事实是,我甚至在运行mvn站点目标,我甚至不知道我们正在运行,我们并不真正需要
因此,我的修复方法是从我的mvn arg中删除站点目标,因为尽管它创建的站点实际上非常有用,但我从来不知道我们在创建它,我们从来没有在任何地方发布过它,实际上每次构建都会删除它。我尝试按照昌华的建议,将maven project info reports插件定义到3.0.0版,并且在我的pom文件中,将aven站点插件改为3.7.1,但发现maven站点仍然使用maven站点插件的3.3版本,无论我如何设置它
我终于意识到我的问题与我们的项目结构有关。我们有一个父pom,在其中我们定义了maven站点插件依赖项,然后由子pom继承。然而,构建pom文件是独立的,根本没有定义maven站点插件,这使maven能够在自己的基础上引入3.3版本n、 我将maven站点插件依赖项(版本3.7.1)添加到构建pom文件中,这样它现在既存在于构建pom文件中,也存在于父pom文件中,现在构建正确地使用了版本3.7.1,并且再次传递。maven站点插件的版本也需要在构建部分显式设置。以下是示例:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
<reportSets>
<reportSet>
<reports>
<report>index</report>
<report>licenses</report>
<report>dependency-info</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<build>
<plugins>
<!-- Part of Maven - specified version explicitly for compatibility
with the maven-project-info-reports-plugin 3.0.0-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
</plugins>
</build>
org.apache.maven.plugins
maven项目信息报告插件
3.0.0
指数
执照
依赖信息
org.apache.maven.plugins
maven站点插件
3.7.1
Maven 3不再支持Doxia
使用
org.apache.maven.plugins
pom.xml中的以下版本为我解决了这个问题:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
</plugin>
org.apache.maven.plugins
maven站点插件
3.7
org.apache.maven.plugins
maven项目信息报告插件
2.9
谢谢,我刚刚在pom中添加了版本为2.7的maven project info reports插件,现在一切正常。对我来说也很好!谢谢。记录:应该添加到构建/插件中。这实际上是真正的原因。我想知道是什么(或者更好的是谁)触发此更新?maven从何处获得此信息?@mbreck是的,我们需要向每个pom添加配置。需要在项目插件部分指定maven站点插件版本才能工作。“新建”报告部分让我很困惑,似乎是多余的。对我来说,maven现在几乎无法使用。这对我来说非常有效。我定义了maven checkstyle插件(3.0.0)
和maven项目信息报告插件(2.9)
在pom.xml
的
部分,只有在将maven project info reports插件降级到v2.9之后,它才对我起作用,尽管我使用了maven site plugin v3.7.1,可能是Thank you!的副本。在遵循maven的入门指南并执行“mvn site”时出错。将您的代码片段添加到my pom.xml后,该命令现在可以工作了。@walltear t
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
</plugin>