运行Maven release命令时无法禁用maven-javadoc-plugin如何解决
解决方案
- 方案1:修改pom.xml全局锁定插件配置并禁用
在pom.xml的build -> pluginManagement -> plugins节点下添加如下配置,既可以锁定插件版本,也可以全局禁用javadoc执行:
<pluginManagement> <plugins> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.7</version> <configuration> <skip>true</skip> <maven.javadoc.skip>true</maven.javadoc.skip> </configuration> <!-- 彻底解绑所有生命周期绑定的执行目标 --> <executions> <execution> <id>default-javadoc</id> <phase>none</phase> </execution> <execution> <id>default-javadoc-jar</id> <phase>none</phase> </execution> </executions> </plugin> </plugins> </pluginManagement>
你之前指定版本不生效的核心原因是没有把插件配置放到pluginManagement节点下,maven执行release流程时会优先使用超级pom继承的默认3.3.0版本。
- 方案2:不改pom的情况下,补充完整命令行参数
maven-release-plugin的release:prepare和release:perform是两个独立的执行阶段,perform阶段会启动单独的Maven进程执行构建,需要同时给两个阶段传跳过参数:
mvn --batch-mode clean release:prepare release:perform \ -Dmaven.javadoc.skip=true \ -Darguments="-Dmaven.javadoc.skip=true"
外层的-Dmaven.javadoc.skip=true作用于prepare阶段的本地构建,-Darguments内的参数会传递给perform阶段启动的子Maven进程,两者缺一不可,你之前参数无效大概率是只传了其中一个。
你遇到的Unsupported major.minor version 52.0错误是因为maven-javadoc-plugin 3.x版本最低要求运行环境为JDK8,你当前使用的JDK版本低于8,要么升级JDK到8及以上,要么按上述方案彻底禁用javadoc插件、或者锁定2.x版本的插件即可解决。
内容的提问来源于stack exchange,提问作者Ivan
相关产品推荐
相关产品推荐

