QueryDSLをSpring Dataを使用する既存のプロジェクトに統合しようとしています。さまざまなサンプルを試しましたが、今はこれに固執することにしました Advanced Spring Data JPA-Specifications and Querydsl 。
問題:プロジェクトをMaven生成ソースとして実行すると、このエラーが発生します
error: Annotation processor 'com.mysema.query.apt.jpa.JPAAnnotationProcessor' not found
ブログ投稿が示すように、このプラグインをpom.xmlに追加します。
<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>
そして依存関係:
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-sql</artifactId>
<version>3.6.9</version>
</dependency>
これを解決する方法、またはQueryDSLをプロジェクトに適切に統合する方法について誰かが私に正しい方向を示すことができますか?前もって感謝します!
com.mysema.query。apt.jpa.JPAAnnotationProcessorの代わりにcom.querydsl。apt.jpa.JPAAnnotationProcessorを使用して、次の依存関係:
<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>
プラグインは次のようになります:
<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>
また、プロジェクトルートのコマンドラインで実行mvn Eclipse:eclipseを実行して、生成されたソースを含めるようにEclipseを更新しました。
更新:
プラグインmaven-apt-pluginをapt-maven-pluginに置き換え、バージョンを1.1.3に変更