作为许多项目,我们目前使用一些外部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放入罐子时会遇到很多问题的答案),我收集到了,我只需要像这样修改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中的错误,以及如何解决它,我将非常感激!
答案 0 :(得分:1)
答案实际上很简单,只是不是很直观。您必须在类路径周围加上引号才能在Linux下工作(我想当然不能完全确定它是否与OpenJDK相关)。
最终命令如下:javadoc -version -author -sourcepath project/src -d . -subpackages . -encoding "ISO-8859-1" -classpath "project/jars/*"