2013-08-02 4 views
3

J'ai documenté avec Javadoc et j'ai beaucoup apprécié l'intégration avec Eclipse mais je voulais utiliser Doxygen pour ajouter des diagrammes. J'utilise les balises {link foo} dans plusieurs brèves descriptions pour les lier à des classes Java standard et à mes propres classes.Javadoc tag @link avec Doxygen: impossible de résoudre le lien

Voici un SSCCE:

package org.foo.myproject; 

import javax.swing.JList; 

/** 
* This is a Javadoc line {@link JList} 
* 
* @author theauthor 
* @version 1.0.0 
*/ 
public class JavadocLinkFailedDemo { 
} 

Je reçois l'erreur suivante avec Doxygen (1.8.4): Warning: unable to resolve link to JList for \link command (j'utiliser un modèle de Doxyfile généré avec doxygen.exe, édité pour .java sources et entrée spécifiques/ouput directories)

Ceci est un problème similaire avec ce question mais la solution de l'auteur du sujet n'a pas fonctionné pour moi.

Merci pour votre aide à l'avance.

EDIT1: J'ai juste essayé de générer l'API Java avec doxygen pour obtenir le fichier de balise correspondant. Ensuite, j'ai utilisé ce fichier avec ce projet de démo où j'ai ajouté un constructeur en utilisant un paramètre comme JList => Le lien est résolu uniquement pour ce paramètre, jamais avec une commande link.

EDIT2: Je réussis enfin à garder ce genre de signature: {@link ...}. Pour mon exemple, JList est résolu si vous remplissez les conditions suivantes:
- Écrivez le nom complet du fichier de classe
- Générez la documentation de jdk avec doxygen pour générer un fichier de balise et utilisez cette balise dans votre projet

Le code exemple final est:

package org.foo.myproject; 

import javax.swing.JList; 

/** 
* This is a Javadoc line with {@link javax.swing.JList} 
* 
* @author theauthor 
* @version 1.0.0 
*/ 
public class JavadocLinkFailedDemo { 
    /** 
    * This is a Javadoc line of the constructor with {@link javax.swing.JList} 
    * 
    * @param aList 
    *   The list 
    */ 
    public JavadocLinkFailedDemo(JList aList) { 
    } 
} 

Le résultat final:
http://s11.postimg.org/wgndev8hv/doxy_jdk.png

Cependant, il est presque impossible de créer un fichier d'aide .chm car il faut du temps pour effectuer cette tâche et vous obtenez un très gros fichier. Mais c'est un autre problème ...

+0

a modifié ma réponse – aldr

Répondre

0

Je n'ai pas essayé cela, mais je crois que ce dont vous avez besoin est un caractère d'échappement avant que vous @link. Cela devrait ressembler \@link ou @@link, mais je préférerais le \@link.

Maintenant, je crois que doxygen devrait être capable de gérer votre commentaire javadoc correctement, mais je ne suis pas sûr que cela fonctionne pour JavaDoc, ou si JavaDoc se plaint maintenant. En outre, il peut sembler étrange dans votre documentation doxygen parce qu'il devrait apparaître un @link JList}, ... et je suppose que ce n'est pas exactement ce que vous voulez non plus.

+0

Désolé mais j'ai mal lu ce [topic] (http://stackoverflow.com/q/11991616/526840). Cela a fonctionné aussi pour moi mais j'ai beaucoup de projets à mettre à jour si je veux corriger chaque lien vers l'API Javadoc. Je cherche donc une solution pour lier ma documentation de projet à cette documentation externe. – kikouk

+0

J'ai vu ce [feature] (http://www.stack.nl/~dimitri/doxygen/manual/external.html) mais j'ai compris que cela fonctionne pour la documentation Doxygen externe pas pour une documentation Javadoc hors ligne (qui est disponible dans format d'archive .zip). J'ai essayé de lancer Doxygen sur les fichiers src de mon jdk mais j'ai des tonnes d'erreurs ... – kikouk

+0

ah okay, je crois que je reçois ce que votre probelm est, vous utilisez le @link comme commentaire Javadoc et quand vous exécutez doxygen il handels \ link comme un commentaire doxygen et vous donne beaucoup d'erreurs – aldr

Questions connexes