3

新しい Spring プロジェクトで QueryDsl を使用しようとしています。私は QueryDsl が初めてで、maven と Spring もかなり初めてなので、かなり基本的なものが欠けている可能性がありますが、Q クラスを生成するための QueryDsl / maven-apt-plugin を取得できません。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>

そのプロジェクトには 2 つの @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)

助言がありますか?

ありがとう!

4

2 に答える 2

3

はい、分かりました。私はそれを理解していません (私は Maven noob です)。

<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>

<build> と <plugins> の間の <pluginManagement> レベルなしで、http://mojo.codehaus.org/apt-maven-plugin/plugin-info.html の指示に従ってください。

于 2012-05-25T14:05:00.993 に答える
1

目標を直接呼び出していますが、構成は実行固有です。したがって、標準のmavenライフサイクルを介してaptを使用するか、構成を一般化してください。

于 2012-05-25T05:42:49.477 に答える