6
votes

Maven Créer des problèmes avec Spring-Data-JPA et QueryDSL

J'ai un projet Eclipse Maven pour Spring-Data-JPA et QueryDDSL.

Je semble avoir un problème avec le plugin Maven-APT où si je fais un MVN propre suivi d'une installation MVN, il essaie de "traiter" les fichiers qui font référence aux fichiers générés par QuyDDSL, mais ces fichiers générés n'ont pas encore été construits, donc je reçois plusieurs erreurs "Impossible de trouver le symbole". P>

Si alors devez faire une autre installation MVN, tout est ok car les fichiers générés existent maintenant. P>

Ce plug-in Maven-APT doit-il traiter chaque fichier de mon projet ou puis-je lui donner un répertoire spécifié? P>

Remarque: IM Utilisation JDK6, Eclipse Indigo, M2E 1.0.100 P>

Mon POM est: P>

<project>
  ....
  <build>
    <plugins>
      <plugin>
        <groupId>com.mysema.maven</groupId>
        <artifactId>maven-apt-plugin</artifactId>
        <version>1.0.2</version>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <goals>
              <goal>process</goal>
            </goals>
            <configuration>
              <outputDirectory>target/generated-sources</outputDirectory>
              <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ....
</project>


2 commentaires

Avez-vous exactement le même problème si vous utilisez Maven sans Eclipse?


Bonjour Ralph, vois mes commentaires ci-dessous. Merci.


3 Réponses :


1
votes

Avez-vous des erreurs ou des avertissements? Vous pouvez ajouter le vrai pour réduire la journalisation des erreurs.

Ce type de journalisation fait partie de APT, car lors de la première exécution avant la génération des types, l'inspection Sources voit des références aux types non-disponibilités.


7 commentaires

Dans la fenêtre de la console Eclipse, au Maven-APT-Plugin: 1.0.2: Stade de processus I Obtenez une sortie de texte rouge (non de la journalisation) indiquant que les symboles non trouvés. Ceci est pour une classe qui fait référence aux classes générées par QDSL.


Les tests qui sont exécutés dans le cadre de l'installation MVN, puis échouent sous forme de ressort pour des erreurs de compilateur non résolues. Si je redouis le MVN installer directement, tout cela fonctionne parfaitement.


Suivi des commentaires de Ralph ci-dessus, si j'exécute Mvn Clean, puis MVN Installez à partir de la ligne de commande, je vois la même sortie du plug-in Maven-APT concernant les symboles non trouvés, mais je n'ai aucun problème avec les tests échoués. Donc, ce problème est expérimenté uniquement dans Eclipse


Peut-être pour la construction que vous pourriez configurer l'apt de Eclipse. Cela pourrait fonctionner mieux que m2e + apt. Avez-vous eu des problèmes similaires avec l'API de critère JPA?


J'ai utilisé le configurisseur de QueryDsl M2e documenté ici ici github.com/ilx/m2e-querydsl/issues / 1 et bugs.eclipse.org/bugs/show_bug.cgi ? id = 349935 Pouvez-vous vérifier si vous avez connu des problèmes avec la configuration que j'utilise?


Désolé, je n'utilise pas m2e. Pourquoi ne pas demander à Ivica Loncar directement. Il a écrit cette intégration et semble en savoir plus sur le sujet que moi.


Alex m'a envoyé un exemple de projet. Il semble que ce ne soit pas lié au plugin M2E, mais à la façon dont M2e fonctionne avec des tests unitaires.



4
votes

Alex, essayez de définir l'aide de la construction:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-source</goal>
                <goal>add-test-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>target/generated-sources</source>
                    <source>src/main/java</source>
                </sources>
            </configuration>
        </execution>
    </executions>
</plugin>


0 commentaires

1
votes

J'ai beaucoup "Impossible de trouver le symbole" de la journalisation (et du traitement suivi), aussi. Il semble être lié au numéro suivant.

https: // github. com / mysema / maven-apt-plugin / numéros / 2 p>

corrigé en ajoutant les options suivantes. P>

<logOnlyOnError>true</logOnlyOnError>


0 commentaires