2016-12-29 5 views
1

Ich möchte meine Version von Querydsl aktualisieren. Ich war auf der Suche zur Erzeugung von Q-Klassen mit dem apt-Maven-Plugin wie folgt aus:Wie kann ich Q-Klassen mit QueryDsl 4.1.4 und Spring-Data-Jpa 2.0.0.M1 erzeugen?

<plugin> 
    <groupId>com.mysema.maven</groupId> 
    <artifactId>apt-maven-plugin</artifactId> 
    <version>1.1.3</version> 
    <executions> 
     <execution> 
      <goals> 
        <goal>process</goal> 
       </goals> 
       <configuration> 
        <outputDirectory>target/generated-sources/java</outputDirectory> 
        <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor> 
       </configuration> 
      </execution> 
    </executions> 
</plugin> 

Einige Versionen Ich verwende‘:

<spring.security.version>4.2.0.RELEASE</spring.security.version> 
<spring.context.version>4.3.4.RELEASE</spring.context.version> 
<springdata.jpa.version>2.0.0.M1</springdata.jpa.version> 
<springdata.es.version>2.0.5.RELEASE</springdata.es.version> 
<springdata.common.version>2.0.0.M1</springdata.common.version> 
<querydsl.version>4.1.4</querydsl.version> 

Aber unfortunalty dies erzeugt mir nichts auf den erzeugten-Quellen Ordner wie erwartet. Kannst du mir bitte einige Möglichkeiten geben zu verstehen, was in meiner Querydsl-Konfiguration fehlgeschlagen ist?

Dank pro Vorschuss.

+0

Ich bin mit dem gleichen Problem konfrontiert. Meine Entitäten werden in Jar-Abhängigkeit gespeichert. Und bei dir? Zur Arbeit mit 4.0.7 – banterCZ

Antwort

3

Stellen Sie sicher, dass die Bibliothek querydsl-apt im Klassenpfad für den Build verfügbar ist.

Option 1: Fügen Sie die Bibliothek als Abhängigkeit der APT-Plugin

<plugin> 
    <groupId>com.mysema.maven</groupId> 
    <artifactId>apt-maven-plugin</artifactId> 
    <version>1.1.3</version> 
    <dependencies> 
    <dependency> 
     <groupId>com.querydsl</groupId> 
     <artifactId>querydsl-apt</artifactId> 
     <version>${querydsl.version}</version> 
    </dependency> 
    </dependencies> 
    <executions> 
    <execution> 
     <goals> 
     <goal>process</goal> 
     </goals> 
     <configuration> 
     <outputDirectory>target/generated-sources/java</outputDirectory> 
     <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

Option 2: Fügen Sie die Bibliothek als Projektabhängigkeit

<project> 
    .. 
    <dependencies> 
    <dependency> 
     <groupId>com.querydsl</groupId> 
     <artifactId>querydsl-apt</artifactId> 
     <version>${querydsl.version}</version> 
     <scope>provided</scope> 
    </dependency> 
    </dependencies> 
</project> 

Hinweis <scope>provided</scope> in diesem Fall, die sicherstellen, dass die Bibliothek nicht mit der Anwendung gebündelt wird.

+0

Hallo Danke für Ihre Hilfe, aber ich hatte auch versucht, diese Lösung und es hat nicht funktioniert für mich. Irgendeine andere wichtige Idee Leute? Danke per Voranmeldung. – christophedebatz

+0

Können Sie Ihr problematisches Projekt irgendwo veröffentlichen? Beispielklassen werden ausreichen. Ich habe eine Probe auf [Github] (https://github.com/manish-in-java/stackoverflow-questions/tree/master/41386005) für den Fall, dass Sie einen Blick darauf werfen und es mit Ihrem Projekt vergleichen möchten. – manish

Verwandte Themen