IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Discussion :

[Annotations] Configuration de Pluggable Annotations Processing sous Eclipse


Sujet :

Eclipse

  1. #1
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut [Annotations] Configuration de Pluggable Annotations Processing sous Eclipse
    Bonjour,

    J'ai un projet que je dois traiter, dont le sujet est "Générateur de documentation de code Java annoté".

    L’objectif est de développer un outil qui permette de générer une documentation à partir d’un code Java de classes.
    Le document généré doit documenter les attributs, les méthodes et les annotations.
    Comme POC il faut partir de classes d’entités JPA.

    Je dois utiliser l'API Pluggable Annotations Processing sous Eclipse mais je ne sais pas comment établir la configuration.

    Quelqu'un saurait-il me guider un peu ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Bonjour,

    En cherchant ont trouve ceci http://jmdoudoux.developpez.com/cour...nnotations.php ...
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  3. #3
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    bonjour,

    j'ai déjà suivi ce tuto mais le problème persiste. j'ai utilisé un fichier XML pour utiliser l'API Pluggable Annotations Processing avec ANT, dont le contenu est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <project name="jpa-hibernate" default="compile" basedir=".">
     
        <!-- nom du projet et version -->
        <property name="proj.name" value="jpa-hibernate" />
        <property name="proj.shortname" value="jpa-hibernate" />
        <property name="version" value="1.0" />
     
        <!-- Propriété globales -->
        <property name="src.java.dir" value="src" />
        <property name="lib.dir" value="lib" />
        <property name="build.dir" value="bin" />
     
        <!-- le Classpath du projet -->
        <path id="project.classpath">
            <fileset dir="${lib.dir}">
                <include name="**/*.jar" />
            </fileset>
        </path>
     
        <!-- les fichiers de configuration qui doivent être dans le classpath-->
        <patternset id="conf">
            <include name="**/*.xml" />
            <include name="**/*.properties" />
        </patternset>
     
        <!-- Nettoyage projet -->
        <target name="clean" description="Nettoyer le projet">
            <delete dir="${build.dir}" />
            <mkdir dir="${build.dir}" />
        </target>
     
        <target name="compile">
            <javac srcdir="${src.java.dir}" destdir="${build.dir}" classpathref="project.classpath" />
        </target>
     
        <!-- Compilation projet -->
        <target name="javac">
            <javac srcdir="${src.java.dir}" destdir="${build.dir}" classpathref="project.classpath" fork="true">
                <compilerarg line="-processor com.jmdoudoux.tests.annotations.outils.Processor"/>
            </javac>
        </target>
        <!-- Copier les fichiers de configuration dans le classpath -->
        <target name="copyconf">
            <mkdir dir="${build.dir}" />
            <copy todir="${build.dir}">
                <fileset dir="${src.java.dir}">
                    <patternset refid="conf" />
                </fileset>
            </copy>
        </target>
    </project>
    Parfois il lance le processeur d'annotation et me génère le fichier que je veux et parfois non.
    Voila le code de mon processeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    package com.jmdoudoux.tests.annotations.outils;
     
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Set;
     
    import javax.annotation.processing.AbstractProcessor;
    import javax.annotation.processing.Filer;
    import javax.annotation.processing.Messager;
    import javax.annotation.processing.RoundEnvironment;
    import javax.annotation.processing.SupportedAnnotationTypes;
    import javax.annotation.processing.SupportedSourceVersion;
    import javax.lang.model.SourceVersion;
    import javax.lang.model.element.Element;
    import javax.lang.model.element.TypeElement;
    import javax.lang.model.util.Elements;
    import javax.persistence.Entity;
    import javax.tools.StandardLocation;
    import javax.tools.Diagnostic.Kind;
     
    @SupportedAnnotationTypes(value = { "javax.persistence.*" })
    @SupportedSourceVersion(SourceVersion.RELEASE_6)
    public class Processor extends AbstractProcessor {
     
      @Override
      public boolean process(
          Set<? extends TypeElement> annotations,
          RoundEnvironment roundEnv) {
     
        Filer filer = processingEnv.getFiler();
        Messager messager = processingEnv.getMessager();
        Elements eltUtils = processingEnv.getElementUtils();
     
        if (!roundEnv.processingOver()) {
     
          Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(Entity.class);
     
          if (!elements.isEmpty())
            try {
              messager.printMessage(Kind.NOTE, "Creation du fichier Todo");
              PrintWriter pw = new PrintWriter(filer.createResource(
                  StandardLocation.SOURCE_OUTPUT, "", "Todo.txt")
                  .openOutputStream());
              // .createSourceFile("Todo").openOutputStream());
     
              pw.println("Liste des todos\n");
     
              for (Element element : annotations) {
                pw.println("\nelement:" + element.getSimpleName());
                System.out.println("aa3333333");
     
              }
              pw.close();
            } catch (IOException ioe) {
              messager.printMessage(Kind.ERROR, ioe.getMessage());
            }
          else
            messager.printMessage(Kind.NOTE, "Rien a faire");
        } else
          messager.printMessage(Kind.NOTE, "Fin des traitements");
     
        return true;
      }
    }
    Quelqu'un peut m'aider ?
    Merci d'avance

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/05/2009, 14h28
  2. [Annotation]Configuration avec Spring+composite key
    Par helios2092 dans le forum Hibernate
    Réponses: 1
    Dernier message: 25/06/2008, 11h56
  3. Réponses: 3
    Dernier message: 15/05/2007, 16h47
  4. [Framework] Utilisation de l'annotation @Configurable
    Par ziller dans le forum Spring
    Réponses: 5
    Dernier message: 26/09/2006, 12h30
  5. Réponses: 1
    Dernier message: 21/07/2006, 18h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo