2010-07-08 12 views
7

Tengo un proyecto que utiliza una biblioteca de terceros en forma de archivo jar y estoy usando Ant para crear el proyecto javadocs. No puedo hacer que Ant se vincule con los javadocs de la biblioteca externa cuando usa la tarea javadoc.Cómo vincular bibliotecas de terceros en la tarea javadoc de Ant

Aquí es la tarea javadoc:

<javadoc excludepackagenames="" access="private" destdir="javadoc" author="true" 
     version="true" use="true" windowtitle="title" useexternalfile="true"> 
    <fileset dir="." defaultexcludes="yes"> 
    <include name="*/src/com/**/*.java"/> 
    </fileset> 

    <link href="http://www.redhillconsulting.com.au/products/simian/javadoc/"/> 
    <link href="http://java.sun.com/j2se/1.5.0/docs/api/"/> 
</javadoc> 

La salida de la tarea dice que el paquete de los simios no existe:

[javadoc] C:\development\java\tools\src\com\cname\DuplicateCodeIdentifier.java:15: package au.com.redhillconsulting.simian does not exist 
[javadoc] import au.com.redhillconsulting.simian.Checker; 
[javadoc]          ^

Ejecución de la tarea de hormiga crea todos los enlaces a la página web de Sun correctamente, pero no para el sitio de redhillconsulting. Ambas URL conducen a un archivo de lista de paquetes y rutas apropiadas (que coinciden con los contenidos de la lista de paquetes).

¿Cómo configuro la tarea Ant <javadoc> para generar los enlaces al sitio de terceros?

Nota: El archivo simian jar está en tools/lib. No he visto que especifique que cualquier clase de ruta de clase es una opción, así que no exploré esa ruta, pero intenté agregar el archivo jar a la ruta de inclusión del conjunto de archivos y eso no fue nada bueno.

+0

Una pregunta similar no específica de Ant: http://stackoverflow.com/questions/17580248/javadocs-link-to-external-javadoc –

Respuesta

13

La etiqueta javadoc acepta una etiqueta integrada classpath

<javadoc ...> 
    <classpath> 
     <fileset dir="${dir.lib}"> 
      <include name="simian.jar"/> 
     </fileset> 
    </classpath> 
</javadoc> 
0

Para * java-archivos, esto no funciona por alguna razón. Me las arreglé para resolver esto con conjuntos de archivos, uno de los cuales incluye mis archivos de proyectos actuales, el otro incluye los archivos del paquete adicional. Simplemente no usé el sourcepath atributo. Es fácil agregar más archivos a voluntad. Sin embargo, no intenté con los archivos * jar.

<target name="doc" depends="init" description="generate documentation"> 
    <javadoc 
     destdir="${doc.dir}" 
     access="private" 
     author="yes" 
     linksource="yes"> 
    <fileset dir="./MyProject" includes="**/*.java" />   
    <fileset dir="./GuiPackage" includes="**/*.java" />   
    </javadoc> 
</target> 
Cuestiones relacionadas