Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar

本文记录了一次使用Maven构建过程中遇到的javadoc插件错误,详细展示了错误日志,并提供了解决方案,即通过跳过javadoc生成来避免此问题。

Hadoop Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar

原创 2017年03月23日 21:36:04



[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar (attach-javadocs) on project ytk-learn: MavenReportException: Error while generating Javadoc: 
[ERROR] Exit code: 1 - java.lang.IllegalArgumentException
[ERROR]         at sun.net.www.ParseUtil.decode(ParseUtil.java:202)
[ERROR]         at sun.misc.URLClassPath$FileLoader.<init>(URLClassPath.java:1241)
[ERROR]         at sun.misc.URLClassPath$3.run(URLClassPath.java:560)
[ERROR]         at sun.misc.URLClassPath$3.run(URLClassPath.java:555)
[ERROR]         at java.security.AccessController.doPrivileged(Native Method)
[ERROR]         at sun.misc.URLClassPath.getLoader(URLClassPath.java:554)
[ERROR]         at sun.misc.URLClassPath.getLoader(URLClassPath.java:519)
[ERROR]         at sun.misc.URLClassPath.getNextLoader(URLClassPath.java:484)
[ERROR]         at sun.misc.URLClassPath.access$100(URLClassPath.java:65)

---

---

---

[ERROR] javadoc: 错误 - java.lang.IllegalArgumentException                                                                                                                                                                             
[ERROR]
[ERROR] Command line was: "C:\Program Files\Java\jdk1.8.0_151_64\jre\..\bin\javadoc.exe" @options @packages
[ERROR]
[ERROR] Refer to the generated Javadoc files in 'F:\machinelearning\code\ytk-learn\target\apidocs' dir.


解决方案:

命令行mvn clean install  -DskipTests  -Dmaven.javadoc.skip=true 

### Maven 构建过程中 `maven-surefire-plugin` 执行失败的解决方案 在使用 Maven 构建项目时,可能会遇到 `Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin` 的错误。这种问题通常发生在执行 `mvn test` 或 `mvn install` 等命令时,导致构建流程中断。以下是常见的解决方法和建议。 #### 1. **跳过测试** 一种快速绕过此问题的方式是直接跳过测试阶段,通过配置 `maven-surefire-plugin` 插件来实现: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.0</version> <!-- 可根据需要调整版本 --> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build> ``` 该配置会跳过所有测试,适用于某些紧急情况下临时解决问题 [^5]。 #### 2. **检查网络连接** 如果错误提示中包含类似 `Could not transfer artifact` 或 `Remote host closed connection during handshake` 的信息,则可能是由于网络问题导致插件依赖无法下载。确保 Maven 能够访问远程仓库(如 Maven Central)。可以尝试更换网络环境或配置代理以解决此类问题 [^3]。 #### 3. **更新插件版本** 某些旧版本的 `maven-surefire-plugin` 存在兼容性问题或已知缺陷。升级到最新稳定版本通常能有效避免此类问题。例如,将插件版本从 `2.12.4` 或 `2.19.1` 更新至 `2.22.2` 或更高版本: ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.2</version> </plugin> ``` #### 4. **查看测试报告定位具体失败原因** 当错误提示为 `There are test failures` 时,应进一步查看测试报告文件。Maven 默认会在 `target/surefire-reports/` 目录下生成详细的测试结果日志。通过分析这些日志,可以精准定位哪个测试用例失败以及失败的原因,从而进行针对性修复 [^4]。 #### 5. **清理本地仓库并重新安装依赖** 有时,本地 Maven 仓库中的依赖文件可能损坏或不完整,这可能导致插件加载失败。可以通过删除本地 `.m2/repository/org/apache/maven/plugins/maven-surefire-plugin` 目录下的内容,然后重新运行 `mvn clean install` 命令让 Maven 自动重新下载相关依赖 [^3]。 #### 6. **JDK 版本兼容性问题** 确保使用的 JDK 版本与 `maven-surefire-plugin` 兼容。某些较老版本的插件对新版本的 Java 支持不佳,可能导致测试执行失败。建议使用与项目兼容的 JDK,并保持插件版本同步 [^1]。 #### 7. **排除冲突依赖** 如果项目引入了多个不同版本的 JUnit 或其他测试框架依赖,可能会引发类路径冲突,进而影响 `surefire-plugin` 正常运行。通过 `<exclusion>` 标签排除不必要的测试依赖,确保只保留一个主要版本 [^4]。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值