Java 8下Javadoc aggregate执行失败的解决方法咨询
解决Java 8下执行maven-javadoc-plugin:3.4.0:aggregate时的
--release无效参数错误 在使用Java Adopt 8.0.345-1执行mvn org.apache.maven.plugins:maven-javadoc-plugin:3.4.0:aggregate命令时,出现javadoc: error - invalid flag: --release错误的核心原因是:Java 8的javadoc工具不支持--release参数,而maven-javadoc-plugin 3.4.0默认会启用该参数,导致构建失败。
解决方法
1. 降级maven-javadoc-plugin到适配Java 8的版本
maven-javadoc-plugin 3.3.1及更早版本不会默认添加--release参数,完全兼容Java 8。
- 直接修改命令中的插件版本:
mvn org.apache.maven.plugins:maven-javadoc-plugin:3.3.1:aggregate
- 或者在项目
pom.xml中固定插件版本:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.3.1</version> </plugin>
2. 保留3.4.0版本,禁用--release参数
如果需要保留插件的3.4.0版本,可通过配置禁用--release参数,同时指定Java 8的source和target版本:
方式一:修改pom.xml配置
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.4.0</version> <configuration> <release>false</release> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
方式二:命令行传递参数
直接在执行命令时添加参数覆盖默认配置:
mvn org.apache.maven.plugins:maven-javadoc-plugin:3.4.0:aggregate -Dmaven.javadoc.release=false -Dmaven.javadoc.source=1.8 -Dmaven.javadoc.target=1.8
3. 升级Java版本到9+(可选)
如果项目允许脱离Java 8环境,将Java版本升级到9或更高版本,此时javadoc工具原生支持--release参数,错误会自动消失。
内容的提问来源于stack exchange,提问作者ThrowsError
相关产品推荐
相关产品推荐

