Почему при установке javadoc происходит сбой установки maven? - PullRequest
9 голосов
/ 20 мая 2009

Когда я запускаю 'maven install', я получаю следующее ..

[INFO] [javadoc: javadoc {выполнение: по умолчанию}] [INFO] -------------------------------------------------- ---------------------- [ОШИБКА] ОШИБКА ЗДАНИЯ [ИНФО] -------------------------------------------------- ---------------------- [INFO] Произошла ошибка в Генерация отчета JavaDocs: код выхода: 1 - исключение java.lang.NullPointerException в com.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageUse (PackageUseWriter.java:180) в com.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageList (PackageUseWriter.java:124) в com.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageUse (PackageUseWriter.java:110) в com.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageUseFile (PackageUseWriter.java:99) на com.sun.tools.doclets.formats.html.PackageUseWriter.generate (PackageUseWriter.java:78) на com.sun.tools.doclets.formats.html.ClassUseWriter.generate (ClassUseWriter.java:116) в com.sun.tools.doclets.formats.html.HtmlDoclet.generateOtherFiles (HtmlDoclet.java:92) в com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration (AbstractDoclet.java:122) в com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start (AbstractDoclet.java:64) в com.sun.tools.doclets.formats.html.HtmlDoclet.start (HtmlDoclet.java:42) на com.sun.tools.doclets.standard.Standard.start (Standard.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Метод) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) в java.lang.reflect.Method.invoke (Method.java:597) на com.sun.tools.javadoc.DocletInvoker.invoke (DocletInvoker.java:269) на com.sun.tools.javadoc.DocletInvoker.start (DocletInvoker.java:143) в com.sun.tools.javadoc.Start.parseAndExecute (Start.java:340) на com.sun.tools.javadoc.Start.begin (Start.java:128) на com.sun.tools.javadoc.Main.execute (Main.java:41) в com.sun.tools.javadoc.Main.main (Main.java:31)

Командная строка была: /home/fsl/jdk1.6.0_12/jre/../bin/javadoc @options @packages @argfile

Что я делаю не так?

Ответы [ 5 ]

13 голосов
/ 18 февраля 2014

Также, если у вас есть:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar (default-cli) on project coolproject-api: MavenReportException: Error while creating archive:
[ERROR] Exit code: 1 - javadoc: warning - No source files for package org.coolproject.api
[ERROR] javadoc: warning - No source files for package org.coolproject.api
[ERROR] javadoc: warning - No source files for package org.coolproject.api.listeners
[ERROR] javadoc: error - No public or protected classes found to document.

Компилятор Java понимает исходные каталоги с именами в стиле пакета, такими как:

coolproject-api/java/org.coolproject.api/

и с этим проблем нет, а maven-javadoc-plugin - нет. Поэтому попробуйте изменить макет «физических» пакетов на:

coolproject-api/java/org/coolproject/api/
3 голосов
/ 31 марта 2011

Чтобы удалить опцию -use в maven-javadoc-plugin, используйте следующую конфигурацию:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
                <use>false</use>
                <links>
                    <link>http://java.sun.com/javase/6/docs/api/</link>
                </links>
            </configuration>
        </plugin>
1 голос
/ 04 июня 2012

Из этого сообщения об ошибке это произойдет, если в пакете по умолчанию есть классы и -use включено. Поэтому одним из решений является перемещение классов в пакете по умолчанию в именованный пакет.

Раздражает, что эта ошибка не была исправлена ​​в инструменте javadoc, распространяемом с некоторыми дистрибутивами, такими как MacOS X Lion.

Ошибка, по-видимому, была исправлена ​​в openjdk 6, по крайней мере, после проверки исходного кода. Скачать этот источник можно по адресу: http://download.java.net/openjdk/jdk6/

1 голос
/ 10 августа 2009

Существует нефиксированная ошибка , которая, похоже, является вашей проблемой. Из описания ошибки известные обходные пути: удалить опцию -use или использовать JDK 1.4.2. Вы используете Java 6, так что это может иметь место.

Строка, в которой возникает исключение NullPointerException:

printHyperLink("", pkg.name(), Util.getPackageName(pkg), true);

Так, возможно, проблема возникает из-за опечатки в вашем файле package.html?

0 голосов
/ 08 августа 2013

Посмотрите на переменные среды и удалите переменную CLASSPATH или добавьте путь к пакету.

javadoc использует classpath для определения пакетов. Если путь не указан в вашей переменной, он потерпит неудачу.

...