我有一个javadoc doclet,需要在doclet的类路径上添加一个额外的jar文件。要从命令行运行doclet,我会执行以下操作:
java com.sun.tools.javadoc.Main -doclet myPackage.myDoclet -docletpath /path/to/doclet/classes
当我运行它时,它在路径上找到doclet并执行它,但是doclet使用了一个需要在类路径上的额外jar,所以最终,我得到一个ClassNotFoundException。
当我将命令行更改为:
java com.sun.tools.javadoc.Main -doclet myPackage.myDoclet -docletpath /path/to/doclet/classes:/path/to/some.jar
它不再找到doclet(javadoc: error - Cannot find doclet class com.adventact.si.workflow.javadoc.ListClass
)。因此,似乎doclet参数不接受路径列表,而只接受一个路径列表。
(请注意,这些命令行不完整 - 我没有说明我如何设置类路径,因为它与docletpath问题无关,而且真的是垃圾邮件。)
你如何解决这个问题?
答案 0 :(得分:4)
documentation for Javadoc表示允许路径列表。确保您使用正确的路径分隔字符“;”或':'取决于您是在Windows上还是在UNIX上(分别)。
注意:如果您真的使用java
而非javadoc
来执行doclet,请检查您的课程的实施情况。 -docletpath
不是java
可执行文件的标准选项,因此必须由doclet实现进行解释。但是,如果您使用javadoc
,那么我在上面提到的文档中说:
如果 classpathlist 包含多个路径或jar文件,则应将它们分开 在Solaris上使用冒号(
:
),在Windows上使用分号(;
)。