【发布时间】:2021-11-01 20:16:19
【问题描述】:
在我的项目中,我试图在运行 mvn --batch-mode clean release:prepare 和 mvn --batch-mode release:perform 时完全跳过 javadoc 插件。然而,添加
<properties>
<maven.javadoc.skip>true</maven.javadoc.skip>
</properties>
不会阻止执行 javadoc。我什至从未在根 pom.xml 中提及 javadoc。使用 maven 选项 -Dmaven.javadoc.skip=true 或 -Darguments="-Dmaven.javadoc.skip=true" 也无济于事。
我的 pom.xml 没有父 pom。 maven-javadoc-plugin的版本显示为3.3.0。
我要解决的错误是:
[INFO] java.lang.TypeNotPresentException: Type org.apache.maven.plugins.javadoc.JavadocJar not present
... the usual part of mess of a stack trace skipped ...
[INFO] Caused by: java.lang.UnsupportedClassVersionError: org/apache/maven/plugins/javadoc/JavadocJar : Unsupported major.minor version 52.0
[INFO] at java.lang.ClassLoader.defineClass1(Native Method)
我什至没有在配置中定义 <plugin> 部分来运行 javadoc。有趣的是,添加以下片段仍然会导致运行 3.3.0 javadoc!
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
</plugin>
还有什么方法可以阻止 javadoc 插件完全运行?
【问题讨论】:
-
很奇怪,根据这个文档,它应该被跳过:maven.apache.org/plugins/maven-javadoc-plugin/… 你确定你使用的是具有该功能的最新版本的 javadoc 插件吗?
-
您的项目 POM 是否扩展了
<parent>?如果是,那么该 POM(或其父级之一......)是否将该属性硬编码为 false,例如<maven.javadoc.skip>false</maven.javadoc.skip>,在<properties>中还是直接在插件配置块中?这种类型的配置会阻止属性设置产生任何影响。 -
@user944849 我的 pom.xml 没有父 pom。
-
@GeoffreyDeSmet maven-javadoc-plugin 的版本显示为 3.3.0。我试图解决的错误现在被编辑到问题中。我什至没有在配置中定义
部分来运行 javadoc。有趣的是,添加以下片段仍然会导致运行 3.3.0 javadoc! maven-javadoc-plugin 2.7 -
请运行
mvn help:effective-pom并报告javadoc-plugin相关的sn-ps