2010-07-08 2 views
7

J'ai un projet qui utilise une bibliothèque tierce sous la forme d'un fichier jar et j'utilise Ant pour construire le projet javadocs. Je ne peux pas obtenir Ant pour lier à la bibliothèque javadocs tierce lors de l'utilisation de la tâche javadoc.Comment lier des bibliothèques tierces dans la tâche javadoc de Ant

Voici la tâche 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 sortie de la tâche indique que le paquet simienne n'existe pas:

[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]          ^

exécution de la tâche fourmi crée tous les liens vers le site Web de Sun correctement, mais pas au site de redhillconsulting. Les deux URL conduisent à un fichier de liste de paquets et à des chemins appropriés (correspondant au contenu de la liste de paquets). Comment configurer la tâche Ant <javadoc> pour générer les liens vers le site tiers?

Comment configurer la tâche <javadoc> Ant pour générer les liens vers le site tiers?

Remarque: Le fichier jar simien se trouve dans tools/lib. Je ne l'ai pas vu spécifié que n'importe quel type de classpath est une option, donc je n'ai pas exploré cette avenue mais j'ai essayé d'ajouter le fichier jar au chemin d'inclusion du fichier et ce n'était pas bon.

+0

Une question similaire non spécifique à Ant: http://stackoverflow.com/questions/17580248/javadocs-link-to-external-javadoc –

Répondre

13

La balise javadoc accepte un intégré classpath tag

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

Pour les fichiers * java, cela ne fonctionne pas pour une raison quelconque. J'ai réussi à résoudre cela avec ensembles de fichiers, dont l'un, y compris mes fichiers de projets en cours, l'autre, y compris les fichiers de paquets supplémentaires. Je n'ai tout simplement pas utilisé l'attribut sourcepath. Il est facile d'ajouter plus de fichiers à volonté. Cependant, je n'ai pas essayé les fichiers * 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> 
Questions connexes