Как я могу включить более одного пути в пользовательский путь doclet?

У меня есть доклет javadoc, для которого требуется, чтобы дополнительный файл jar находился в пути к классам доклета. Чтобы запустить доклет из командной строки, я делаю что-то вроде этого:

java com.sun.tools.javadoc.Main -doclet myPackage.myDoclet -docletpath /path/to/doclet/classes

Когда я запускаю это, он находит доклет на пути и выполняет его, но доклет использует дополнительную банку, которая должна быть на пути к классам, поэтому в конечном итоге я получаю ClassNotFoundException.

Когда я изменяю командную строку на это:

java com.sun.tools.javadoc.Main -doclet myPackage.myDoclet -docletpath /path/to/doclet/classes:/path/to/some.jar

Он больше не находит доклет (javadoc: error - Cannot find doclet class com.adventact.si.workflow.javadoc.ListClass). Итак, похоже, что аргумент doclet не принимает список путей, а только один.

(обратите внимание, что эти командные строки не завершены — я не показываю, как я устанавливаю путь к классам, так как это не имеет отношения к проблеме пути doclet и действительно является спамом.)

Как это обойти?


person Jared    schedule 11.02.2009    source источник
comment
На какой ОС вы это запускаете?   -  person Eddie    schedule 11.02.2009
comment
Окна. Вы прибили : vs. ; в вашем ответе. Спасибо.   -  person Jared    schedule 11.02.2009


Ответы (1)


В документации для Javadoc говорится, что разрешен список путей. Убедитесь, что вы используете правильный символ разделения пути, либо ';' или ':' в зависимости от того, используете ли вы Windows или UNIX (соответственно).

ПРИМЕЧАНИЕ. Если вы действительно используете java, а не javadoc для выполнения своего доклета, проверьте реализацию вашего класса. -docletpath не является стандартной опцией для исполняемого файла java, поэтому он должен интерпретироваться вашей реализацией доклета. Однако, если вы используете javadoc, то в документации, на которую я указал выше, говорится:

Если classpathlist содержит несколько путей или JAR-файлов, они должны быть разделены двоеточием (:) в Solaris и точкой с запятой (;) в Windows.

person Eddie    schedule 11.02.2009
comment
Отредактированный OP, чтобы более полно отразить тот факт, что я действительно вызываю java, а не javadoc. - person Jared; 11.02.2009