我正在尝试在新的Spring项目中使用QueryDsl。我是QueryDsl的新手,对于maven和Spring来说还是新手,所以我可能会遗漏一些相当基本的东西,但是我无法获得QueryDsl / maven-apt-plugin来生成我的Q类。 Querydsl参考使声音变得如此简单;我想我完全按照它说的做了:
我将pom.xml配置为:
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>maven-apt-plugin</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
和
<repository>
<id>QUERYDSL</id>
<url>http://source.mysema.com/maven2/releases</url>
<layout>default</layout>
</repository>
和
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>2.5.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
我在该项目中有两个@ Entity。
mvn clean install不会导致对target / generated-sources / java /
的任何输出我错过了什么?
我尝试了mvn apt:process,结果是:
[ERROR] Failed to execute goal com.mysema.maven:maven-apt-plugin:1.0.3:process (default-cli) on project logging-implementation: Either processor or processors need to be given -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.mysema.maven:maven-apt-plugin:1.0.3:process (default-cli) on project logging-implementation: Either processor or processors need to be given
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
有什么建议吗?
谢谢!
答案 0 :(得分:3)
好的,我明白了。 我不明白(我是Maven noob),但这是有效的: 在父pom.xml中,我有
<build>
<pluginManagement>
<plugins>
the maven-apt-plugin definition shown above
</plugin>
<pluginManagement>
</build>
在项目的POM中我有:
<build>
<plugins>
the **exact same** maven-apt-plugin definition shown above
</plugin>
</build>
没有&lt; pluginManagement&gt;等级&lt; build&gt;和&lt; plugins&gt;,按照http://mojo.codehaus.org/apt-maven-plugin/plugin-info.html
上的说明操作答案 1 :(得分:1)
您正在直接调用目标,但配置是特定于执行的。因此,要么通过标准maven生命周期使用apt,要么使配置一般。