2017-03-23 8 views
1

私は春のプロジェクトでquerydslを使い、src/main/java/xxx/xxx/model/hereにQクラスを生成したいと思います。私のpom.xmlにsrc/main/javaを除いて書くと、うまくいきます。しかし、src/main/javaと書くと動作しません(qクラスは生成されません)。 src/main/javaには、私が書いた別のクラスがあります。既存の場所でQクラスを生成することは不可能ですか?ここでquerydsl src/main/javaにQクラスを生成する

が私のpom.xml

<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>src/main/java</outputDirectory> 
       <processor> 
        com.querydsl.apt.jpa.JPAAnnotationProcessor 
       </processor> 
      </configuration> 
     </execution> 
    </executions> 
    <dependencies> 
     <dependency> 
      <groupId>com.querydsl</groupId> 
      <artifactId>querydsl-apt</artifactId> 
      <version>${querydsl.version}</version> 
     </dependency> 
    </dependencies> 
</plugin> 

答えて

0

であるあなたは、このように、対象のディレクトリパスを追加する必要があります:すべての

ターゲット/生成-ソース/ javaの

+0

対象のディレクトリでQクラスを使用するにはどうすればよいですか?クラスパスの設定が必要ですか? –

0

まず、なぜだと思いますソースフォルダーにそれらを生成する。そうすれば、実際のコードベースが複雑になります。それらは自動生成されたファイルです。 は、彼らはとして

<configuration> 
    <outputDirectory>target/generated-sources/querydsl</outputDirectory> 
    <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor> 
</configuration> 

の下に与えられた。しかし、あなたはまだsrcフォルダにそれらを必要とする場合は、以下の手順に従っことになっています。 >自動的にビルド

  1. 無効化プロジェクト...のapt-のmaven-pluginのを実行します
  2. 実行Mavenのゴール 'を生成-源'、
  3. 期待通りに生成されたソースファイルが存在している、Eclipseでプロジェクトをリフレッシュ
  4. プロジェクト>ビルドプロジェクト

ソースが生成されたフォルダが作成されます。

プロジェクトのクラスパス設定を確認してください。必要に応じて、すべてのQクラスを使用できるようになりました。

project build path

関連する問題