编译 javadoc 时包含外部 jar
Include external jars when compiling javadoc
我们目前可能有很多项目使用一些外部 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 中的错误,以及如何解决它,我将不胜感激!
答案实际上很简单,只是不是很直观。您必须在类路径周围加上引号才能在 Linux 下工作(我想,不完全确定它是否与 OpenJDK 相关)。
最终命令将如下所示:javadoc -version -author -sourcepath project/src -d . -subpackages . -encoding "ISO-8859-1" -classpath "project/jars/*"
我们目前可能有很多项目使用一些外部 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 中的错误,以及如何解决它,我将不胜感激!
答案实际上很简单,只是不是很直观。您必须在类路径周围加上引号才能在 Linux 下工作(我想,不完全确定它是否与 OpenJDK 相关)。
最终命令将如下所示:javadoc -version -author -sourcepath project/src -d . -subpackages . -encoding "ISO-8859-1" -classpath "project/jars/*"