首页 > 解决方案 > 编译 javadoc 时包含外部 jar

问题描述

可能有很多项目,我们目前使用一些外部 jar,比如 apache commons。现在,当编译 javadoc 并使用此命令将其指向我们的源代码时:javadoc -version -author -sourcepath project/src -d . -subpackages . -encoding "ISO-8859-1"您会收到类似的错误

OurFTPClient.java:15: error: package org.apache.commons.net.ftp does not exist.

现在通过一些谷歌搜索(实际上很难找到,因为你会得到很多关于将 javadoc 放入 jar 中的问题的答案)我收集到我只需要像这样修改 javadoc 命令:javadoc -version -author -sourcepath project/src -d . -subpackages . -encoding "ISO-8859-1" -classpath project/jars/*. 这在使用 oracle JDK8 的 Windows 上完全正常。但是在 linux 和 OpenJDK8 下,这个错误

javadoc: error - Illegal package name: "project/jars/commons-codec-1.10.jar".

如果有人知道为什么会发生这种情况,这是否是 OpenJDK 中的错误,以及如何解决它,我将非常感激!

标签: javajavadoc

解决方案


答案其实很简单,只是不是很直观。您必须在类路径周围加上引号才能在 Linux 下工作(我想,不完全确定它是否与 OpenJDK 相关)。

最终命令将如下所示:javadoc -version -author -sourcepath project/src -d . -subpackages . -encoding "ISO-8859-1" -classpath "project/jars/*"


推荐阅读