2009-05-20 13 views
8

Cuando se ejecuta 'experto instalar', me sale el siguiente ..¿Por qué falla la instalación de maven durante la generación de javadoc?

[INFO] [javadoc: {javadoc ejecución: por defecto}] [INFO] ----------- -------------------------------------------------- ----------- [ERROR] BUILD ERROR [INFO] ------------------------------ ------------------------------------------ [INFO] Se ha producido un error en JavaDocs de generación de informes: código de salida: 1 - java.lang.NullPointerException en com.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageUse (PackageUseWriter.java:180) en com.sun.tools.doclets. formats.html.PackageUseWrite r.generatePackageList (PackageUseWriter.java:124) en com.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageUse (PackageUseWriter.java:110) en com.sun.tools.doclets.formats.html.PackageUseWriter. generatePackageUseFile (PackageUseWriter.java:99) en com.sun.tools.doclets.formats.html.PackageUseWriter.generate (PackageUseWriter.java:78) en com.sun.tools.doclets.formats.html.ClassUseWriter.generate (ClassUseWriter.java:116) en com.sun.tools.doclets.formats.html.HtmlDoclet.generateOtherFiles (HtmlDoclet.java:92) en com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration (AbstractDoclet. java: 122) en com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start (AbstractDoclet.java:64) en com.sun.tools.doclets .formats.html.HtmlDoclet.start (HtmlDoclet.java:42) en com.sun.tools.doclets.standard.Standard.start (Standard.java:23) en sun.reflect.NativeMethodAccessorImpl.invoke0 (Método nativo ) en sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) en sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) en java.lang.reflect.Method.invoke (Method.java:597) en com.sun.tools.javadoc.DocletInvoker.invoke (DocletInvoker.java:269) en com.sun.tools.javadoc.DocletInvoker.start (DocletInvoker.java:143) en com.sun.tools.javadoc .Start.parseAndExecute (Start.java:340) en com.sun.tools.javadoc.Start.begin (Start.java:128) en com.sun.tools.javadoc.Main.execute (Main.java:41) en com.sun.tools.javadoc.Main.main (Main.java:31)

línea de comando fue: /home/fsl/jdk1.6.0_12/jre/../bin/javadoc @options @packages @argfile

¿Qué estoy haciendo mal?

+0

¿Puede publicar las piezas correspondientes de su pom? – sal

Respuesta

1

Hay un unfixed bug que parece ser su problema. A partir de la descripción del error, las soluciones temporales conocidas son abandonar la opción -use o usar JDK 1.4.2. Estás usando Java 6, así que este puede ser el caso.

El borde del NullPointerException se está produciendo en cuenta es:

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

Así que tal vez el problema se produce debido a un error tipográfico en el archivo de package.html?

3

para descartar la opción -uso de maven-javadoc-plugin, utilice la siguiente configuración:

 <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> 
+0

Lo sentimos, este arreglo no funcionó para mí, usando maven-javadoc-plugin 2.8.1 – Stewart

+0

tampoco funcionó para mí, usando maven-javadoc-plugin 2.9.1 (la versión más reciente a partir de ahora) –

1

A partir de ese informe de error, esto ocurrirá cuando uno tiene clases en el paquete predeterminado y está en -uso .Entonces, una solución es mover las clases en el paquete predeterminado a un paquete con nombre.

Molesto que este error no se haya solucionado en la herramienta javadoc distribuida con algunas de las distribuciones, como MacOS X Lion.

Parece que el error se ha corregido en el openjdk 6, al menos desde la inspección del código fuente. Descarga de esa fuente disponible en: http://download.java.net/openjdk/jdk6/

0

Mire las variables de entorno y elimine la variable CLASSPATH o agregue la ruta del paquete.

javadoc usa classpath para determinar los paquetes. Si la ruta no está en su variable, fallará.

10

Además, si usted tiene:

[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. 

compilador Java entiende fuentes de directorios con nombres de estilo paquete como:

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

y no hay problemas con él, pero experto-javadoc- el complemento no lo hace. Intente cambiar el diseño de sus paquetes "físicos" a:

coolproject-api/java/org/coolproject/api/ 
+2

sí. la estructura de la carpeta fue la culpable! – farasath

+1

También encontraría el error en esta respuesta si tuviera la estructura de directorios correcta para maven pero tuviera entradas en el pom para declarar un alternativo; lo más probable es que el sourceDirectory declarado esté vacío como se informó. Si ejecuta una versión: realizar, este error no aparecerá hasta el final. – dan

+0

me salvaste el día. Gracias –

Cuestiones relacionadas