J'essaie d'intégrer QueryDSL à mon projet existant avec Spring Data, j'ai essayé différents exemples et maintenant j'ai décidé de m'en tenir à celui-ci Advanced Spring Data JPA - Spécifications et Querydsl .
Problème : lorsque j'exécute le projet en tant que Maven generate-sources, j'obtiens cette erreur
error: Annotation processor 'com.mysema.query.apt.jpa.JPAAnnotationProcessor' not found
J'ajoute ce plugin à mon pom.xml comme l'indique le billet de blog:
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>maven-apt-plugin</artifactId>
<version>1.0</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>
et la dépendance:
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-sql</artifactId>
<version>3.6.9</version>
</dependency>
Quelqu'un peut-il m'indiquer dans la bonne direction comment résoudre ce problème ou comment intégrer correctement QueryDSL à mon projet? Merci d'avance!
La façon dont j'ai pu faire ce travail était d'utiliser le com.querydsl. Apt.jpa.JPAAnnotationProcessor au lieu du com.mysema.query. Apt.jpa.JPAAnnotationProcessor et en changeant les dépendances comme suit:
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>4.0.6</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>4.0.6</version>
</dependency>
Le plugin finit comme ceci:
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
J'ai également exécuté dans la ligne de commande à la racine des projets mvn Eclipse: eclipse pour mettre à jour Eclipse pour inclure les sources générées.
Mise à jour:
Remplacé le plugin maven-apt-plugin pour apt-maven-plugin et changé la version en 1.1.3