无法在 java 10 从控制台运行 javadoc

问题描述

我正在尝试使用以下代码 javadoc -sourcepath ./src/main java.packageName 直接从控制台获取我的类的 javadoc。这些类依赖于外部库(例如 junit.framework)。这段代码很容易从 IntelliJ IDEA 或通过 mvn clean install 编译,但是当我尝试创建 javadoc 时,我面临无法识别外部类和包的问题(例如 error: package junit.framework does not exist)。 JDK 8 也出现同样的问题,但有警告,无论如何都会生成 javadoc。

解决方法

您可以采用两种方法从命令行获取要构建的 javadoc:

  • 将 maven-javadoc-plugin 添加到项目的 POM 文件中,以便您可以使用(例如)mvn javadoc:javadoc 生成 javadoc。有关详细信息,请参阅 plugin documentation

  • 使用正确命令行参数直接运行 javadoc

我怀疑您当前的尝试失败有几个原因:

  • 您似乎正在为您的 src/test 树生成 javadoc。这可能是无意的。

    (如果上面的“错误:...”来自 src/main javadoc 生成,我很困惑为什么您的 src/main 源代码指的是 junit.framework 包。可以,但生产代码通常不依赖于测试框架。)

  • 您需要使用 -classpath 选项来告诉 javadoc 在哪里可以找到外部库。

,

“这段代码很容易从intellij编译”只需使用intellij的JavaDoc函数即可。它应该工作

工具 - 生成 JavaDoc