从今天晚上开始,Maven网站3.3插件停止工作。
尝试删除本地存储库,但没有更改。 Maven的3.3.9 Java 1.8
在pom中没有为站点插件定义任何配置或依赖项
%data%
答案 0 :(得分:74)
在构建期间,我也刚刚开始遇到此问题。对我有用的是专门定义maven-site-plugin
和maven-project-info-reports-plugin
以及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>
答案 1 :(得分:47)
这是由于maven-project-info-reports-plugin更新为3.0.0引起的,并且依赖于doxia-site-renderer 1.8(并且具有org.apache.maven.doxia.siterenderer.DocumentContent此类),但是maven-site-plugin:3.3依赖于doxia-site-renderer:1.4(并且没有org.apache.maven.doxia.siterenderer.DocumentContent)
我们可以在报告部分中使用特定的maven-project-info-reports-plugin版本:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
</plugin>
</plugins>
</reporting>
或者我们可以将maven-site-plugin指定为最新的3.7.1,例如:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
在pom的一部分中构建
答案 2 :(得分:6)
Maven网站插件的版本也需要在build部分中明确设置。这是示例:
<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>
答案 3 :(得分:1)
我今天在一些构建工作中也遇到了这个错误。上面建议的修复程序,为maven-site-plugin添加了一个具体的依赖项,确实可以解决该问题。
但是,对我而言突出的是我什至在运行mvn网站目标,我什至不知道我们正在运行并且我们并不需要。
因此,我的解决方法是从我的mvn arg中删除网站目标,因为尽管它创建的网站实际上非常有用,但我不知道我们在创建它,我们从未在任何地方发布过它,实际上无论如何在每个构建中都删除了它。
答案 4 :(得分:1)
Maven 3不再支持Doxia。
使用
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.2</version>
</plugin>
参考:https://maven.apache.org/plugins/maven-site-plugin/maven-3.html
答案 5 :(得分:0)
您确实需要添加更多信息(我并没有拒绝BTW投票)。
IIRC;如果您未为绑定到生命周期阶段的插件指定版本,则将获取最新版本。
尝试:
ATOW
mvn help:effective-pom
并检查哪个版本
实际正在解决-如果您有来自CI或其他任何地方的旧日志
与...进行比较。maven-site-plugin
版本
在pluginManagement
部分maven-site-plugin
添加依赖项(见下文) org/apache/maven/doxia/siterenderer/DocumentContent
可在doxia-site-renderer
中找到:
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-site-renderer</artifactId>
<version>1.8.1</version>
</dependency>
我怀疑将maven-site-plugin的版本显式设置为您曾经使用过的版本(偶然)是可以的。
编辑:在maven插件构建测试中遇到了类似的问题,在maven-site-plugin
使用的集成pom中显式设置maven-invoker-plugin
版本(3.7.1 ATOW)已解决了问题我。
答案 6 :(得分:0)
我尝试遵循彰化的建议,并在pom文件中将maven-project-info-reports-plugin定义为3.0.0版本,并将maven-site-plugin定义为3.7.1,但是发现maven站点仍然被拉在3.3版的maven-site-plugin中,无论我如何设置。
我终于意识到我的问题与我们的项目结构有关。我们有一个父pom,在其中定义了maven-site-plugin依赖关系,然后再由子pom继承。但是,build pom文件是单独的,并且根本没有定义maven-site-plugin,这允许maven自己引入3.3版本。我将maven-site-plugin依赖关系(版本3.7.1)添加到了构建pom文件中,以便它现在同时存在于构建pom文件和父pom文件中,并且现在该构建正确使用了3.7.1版,然后又过去了。
答案 7 :(得分:0)
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>