java - 编译 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 中的错误,以及如何解决它,我将非常感激!
解决方案
答案其实很简单,只是不是很直观。您必须在类路径周围加上引号才能在 Linux 下工作(我想,不完全确定它是否与 OpenJDK 相关)。
最终命令将如下所示:javadoc -version -author -sourcepath project/src -d . -subpackages . -encoding "ISO-8859-1" -classpath "project/jars/*"
推荐阅读
- python - 如何通过 AutoML 实体提取中的文本片段发出预测请求?
- ionic-framework - Ionic 4 - 键盘覆盖表单内的输入字段
- c# - 需要在 WPF 中的每个视图上指定 TextBox 样式
- java - Log4j2 不滚动日志文件
- javascript - using try catch on error generated by asynchronous callback function
- java - 从双数列表中获取给定值的最近索引值
- azure - azure apim 中的 JWT 验证失败错误
- javascript - 从 chrome 扩展打开一个 div 到网页(如开发工具面板显示)
- c# - 正则表达式拆分字符串,提取之前的字符串值和方括号之间的数值
- java - 在 Firebase Android 中选择查询