java - 为什么 Maven javadoc 失败并出现错误 "cannot read options"?

标签 java maven-2 javadoc maven-plugin

当我运行 mvn javadoc:javadoc 时,出现以下错误:

[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] An error has occurred in JavaDocs report generation:Exit code: 1 -
javadoc: error - cannot read options (The system cannot find the file specified)

Command line was:"C:\Program Files\Java\jdk1.6.0_14\jre\..\bin\javadoc.exe"
 @options @packages

当我在我的系统上调用命令 "C:\Program Files\Java\jdk1.6.0_14\jre..\bin\javadoc.exe" 时,它会运行 javadoc 可执行文件。

我在运行:

  • JDK 1.6.0_14
  • 行家 2.0.8

我的 POM 的 javadoc 报告部分如下所示:

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
      </plugin>
      ...

以及相关的环境变量:

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_14
M2_HOME=C:\Program Files\Apache Software Foundation\apache-maven-2.0.8
M2_REPO=C:\Documents and Settings\<user>\.m2\repository //<user> is my user
MAVEN_OPTS=-XX:MaxPermSize=128m -Xmx512m

我已经尝试重新安装 Java 和 Maven,以及使用 Maven 2.1.0、JDK 1.6.0_11,甚至 JDK 1.5.0_11。我将我的设置与一位同事进行了比较,他的环境几乎相同但没有问题。它曾经在大约一个月前工作,不,我不知道从那以后我的系统发生了什么变化。我第一次遇到它是在 JDK 1.6.0_11 中。我在我们的存储库中尝试过的每个项目都会发生这种情况,而且我的同事对相同的项目没有任何问题。所以我很确定这只是我的环境,而不是项目本身。

如果有任何建议,我将不胜感激。

最佳答案

我想通了,但首先我尝试了各种方法:

  • 卸载我系统上的所有 JDK 和 JRE,然后将 Java 重新安装到没有空格的路径
  • 删除我未使用的每个环境变量,并清理我的 PATH
  • 将 Maven 和我的本地存储库重新定位到没有空格的目录
  • 重新启动(你永远不知道,这是 Windows)

今天我尝试运行一个没有正确执行的批处理文件,我很快意识到当我双击它时,它正在执行文件而不是在它所在的目录中。然后它击中了我。

几周前,我受够了我们的 IT 人员强制我们的 cmd 窗口在 H: 打开,所以我用 Google 搜索并使用了 this page要解决这个问题”。它似乎起作用了;几个星期以来我没有遇到任何问题,我已经忘记了我的 cmd 窗口过去都是打开某个 H: 驱动器。但是每个单独的 cmd 窗口都会打开一个我指定的目录——无论是我运行“cmd”还是单击一个批处理文件,或者如果 Maven 打开一个新的 cmd 窗口...

我想当 Maven 运行时,它会退出执行 javadoc 命令。因此 javadoc 部分可以正常工作,但是它找不到它写出的选项文件,因为工作目录是错误的。

所以,现在我回到 H: 直到我弄明白。然后我会搞砸别的事情。但希望,如果没有别的,这将帮助其他人......

关于java - 为什么 Maven javadoc 失败并出现错误 "cannot read options"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1034230/

相关文章:

java - 使用不同的 Spring 属性进行集成测试

java - 启动一个Web容器,然后使用Cargo maven2插件部署 war

JavaDoc 不生成带句号的语句

java - 从 Android 中的 Native Java Activity 打开 React Native 组件

java - 第 3 方 .jar 包含在 Google App Engine 中

java - 如何从java native 接口(interface)(jni)调用getStackTrace方法

java - 在自定义 Javadoc taglet 中展开内联标签

java - 是否可以使用十进制数(例如 double)来定位 JLabel?

maven-2 - 如何从 Maven 程序集插件的 list 中添加任意信息

Javadoc 插入 UML 图