2012-05-10 10 views
14

JPA modelini guide izledim ve ihtiyacım olan kanonik metamodeli üretebildim. Bu pom oluşturulduğuna göre:JPA Hazırda Metamodel jenerasyonu ile maven

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

oluşturulan kaynak düzgün belirtilen dizinde oluşturulur ve ben elle kullanmak Tutulma proje sınıf yolunda kaynağı olarak belirtmek zorunda olduğu. Bir mavnayı tetiklediğimde, günlükler cannot find symbol veya duplicate class'u gösterir ve hala başarılı bir yapıya sahip olurum. Benim sorum, metamodel oluştururken bu beklenen/doğru davranış mı? ya da cofig'ta bir şeyi özledim mi? Teşekkür

+0

FIY, [jpa-metamodel-with-maven] 'a bir göz atın (https://jinahya.wordpress.com/2014/03/29/jpa-metamodel-with-maven/) –

cevap

14

Ben de JPA Metamodel jeneratör kullanıyorum ve sorunları ben bazı farklılıklar görebilirsiniz, belki benim yapılandırma yardımcı olabilir, tarif gerekmez, ilki senin gibi 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> 

olduğunu Görebilirim bağımlılık ve işlemci özelliği olarak hibernate-jpamodelgen eklemek zorunda kaldı.

Üretilen kaynakların dizinini kaynak yolunuza eklemek için build-helper-maven-plugin'un gerekli olup olmadığından emin değilim. Kullanmıyorum ve benim için çalışıyor ama belki de oluşturulan kaynakların varsayılan çıktı yolunu kullanıyorum.

İlgili konular