當我根據http://docs.jboss.org/hibernate/stable/jpamodelgen/reference/en-US/html_single/瞭解到Hibernate JPA 2元模型生成器時,它工作正常。
但是,當我試圖產生這些元模型由運行mvn compile
,它只產生對應的類和如以下目標文件夾中的一個文件夾怪「中產生來源」,並且不產生在源文件夾對應的Java文件。 如何使用Hibernate JPA 2元模型生成器?
下面是我的相關配置在pom.xml中:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-proc:none</compilerArgument>
</configuration>
</plugin>
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>3.2.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>
</plugin>
</plugins>
所以,我的問題是:這是預期的行爲?如果是,那麼是否意味着我需要在每次使用元模型之前編譯代碼?如果不是,我如何在源代碼文件夾中生成java文件?
非常感謝您的幫助。
元類實際上是在target/generated-sources/apt中生成的。但它們也在目標/類文件夾中生成。這意味着在兩個文件夾中生成相同的元類。它預期的行爲? – Xiaoyuan
除非你有一些你沒有發佈的東西,否則根據你發佈的配置應該是不可能的。但編譯後的類應該在'target/classes'下;源代碼不應該存在,例如源類,例如* MyEntity_.java *轉到'generated-sources'文件夾,而像* MyEntity_.class *這樣的編譯類將位於'target/classes'文件夾下。 – ujulu
謝謝你的回覆。這真的很有幫助。 – Xiaoyuan