簡體   English   中英

使用帶有groovy-eclipse-compiler的querydsl-maven-plugin生成QueryDsl類

[英]generating QueryDsl classes using querydsl-maven-plugin with groovy-eclipse-compiler

我正在嘗試使用此處描述的替代方法從groovy實體生成querydsl類http://www.querydsl.com/static/querydsl/2.7.3/reference/html/ch03s02.html

我面臨的問題是這些類僅在我兩次執行mvn編譯/打包時才生成

即有順序的東西,類應該在編譯groovy類之前生成

否則我得到編譯錯誤

Groovy:unable to resolve class com.application.domain.QUser

我的pom.xml

 <build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <compilerId>groovy-eclipse-compiler</compilerId>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-eclipse-compiler</artifactId>
                    <version>2.9.1-01</version>
                </dependency>
                <dependency>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-eclipse-batch</artifactId>
                    <version>2.3.7-01</version>
                </dependency>
            </dependencies>
        </plugin>
        <plugin>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-eclipse-compiler</artifactId>
            <version>2.9.1-01</version>
            <extensions>true</extensions>
        </plugin>

        <plugin>
            <groupId>com.mysema.querydsl</groupId>
            <artifactId>querydsl-maven-plugin</artifactId>
            <version>3.6.8</version>
            <executions>
                <execution>
                    <id>generate-querydsl-classes</id>
                    <goals>
                        <goal>jpa-export</goal>
                    </goals>
                    <phase>process-sources</phase>
                    <configuration>
                        <targetFolder>target/generated-sources/java</targetFolder>
                        <packages>
                            <package>com.application</package>
                        </packages>
                    </configuration>
                </execution>
            </executions>
        </plugin>
     </plugins>

我想念的是什么?

你需要:

  1. 編譯源Groovy代碼
  2. 后處理類以生成QClass
  3. 再次編譯生成的QClass。

      <plugin> <groupId>com.mysema.querydsl</groupId> <artifactId>querydsl-maven-plugin</artifactId> <version>${querydsl.version}</version> <executions> <execution> <id>generate-query-dsl-classes</id> <phase>process-classes</phase> <goals> <goal>jpa-export</goal> </goals> <configuration> <targetFolder>target/generated-sources/java</targetFolder> <packages> <package>com.my.package</package> </packages> </configuration> </execution> <execution> <id>compile-query-dsl-classes</id> <phase>process-classes</phase> <goals> <goal>compile</goal> </goals> <configuration> <sourceFolder>target/generated-sources/java</sourceFolder> </configuration> </execution> </executions> </plugin> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM