2012-05-10 35 views
14

JPA modelgen guideに従って、私が必要とする正規のメタモデルを生成することができました。このポンポンを設定すると:JPA MavenによるHibernateメタモデルの生成

<plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <compilerArgument>-proc:none</compilerArgument> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.bsc.maven</groupId> 
       <artifactId>maven-processor-plugin</artifactId> 
       <version>2.0.6-redhat</version> 
       <executions> 
        <execution> 
         <id>process</id> 
         <goals> 
          <goal>process</goal> 
         </goals> 
         <phase>generate-sources</phase> 
         <configuration> 
          <outputDirectory>target/metamodel</outputDirectory> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>build-helper-maven-plugin</artifactId> 
       <version>1.3</version> 
       <executions> 
        <execution> 
         <id>add-source</id> 
         <phase>generate-sources</phase> 
         <goals> 
          <goal>add-source</goal> 
         </goals> 
         <configuration> 
          <sources> 
           <source>target/metamodel</source> 
          </sources> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 

生成されたソースが正しく指定されたディレクトリに作成され、私は手動でそれを使用するEclipseプロジェクトのクラスパスにソースとして指定する必要があります。私がmavenをトリガーすると、ログにはcannot find symbolまたはduplicate classが表示され、まだビルドに成功します。だから私の質問は、メタモデルを作成する際にこれが期待される/正しい動作であるということですか?または私はcofigで何かを逃したのですか?おかげで私はまた、JPAメタモデルジェネレータを使用していると私はあなたが記述問題を持っていない、多分私の設定は助けることができる

+0

FIY、[jpa-metamodel-with-maven](https://jinahya.wordpress.com/2014/03/29/jpa-metamodel-with-maven/)をご覧ください。 –

答えて

14

が、私はいくつかの違いを参照してください、最初のものは、あなたのようmaven-processor-plugin

<plugin> 
    <groupId>org.bsc.maven</groupId> 
    <artifactId>maven-processor-plugin</artifactId> 
    <version>2.1.0</version> 
    <executions> 
    <execution> 
     <id>process</id> 
     <goals> 
     <goal>process</goal> 
     </goals> 
     <phase>generate-sources</phase> 
     <configuration> 
     <processors> 
      <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor> 
     </processors> 
     </configuration> 
    </execution> 
    </executions> 
    <dependencies> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-jpamodelgen</artifactId> 
     <!--version>1.2.0.Final</version--> 
     <version>4.3.4.Final</version> 
    </dependency> 
    </dependencies> 
</plugin> 

です依存性とプロセッサ属性としてhibernate-jpamodelgenを追加しなければならないことがわかります。

ソースパスに生成されたソースのディレクトリを追加するのに、build-helper-maven-pluginが必要かどうかわかりません。私はそれを使用していない、それは私のために働くが、おそらく私は生成されたソースのためのデフォルトの出力パスを使用しているためです。

関連する問題