我创建了一个名为 Domain 的maven模块。在这个模块中,我拥有用Groovy编写的数据库的所有实体类。直到当前的问题,这种配置一直运行良好。
根据the directions on the DataNucleus page,我设置了我的maven pom,如下所示。我的实体类增强得很好,我可以将它们用于所有常规的老式Query API。但是,我没有 QProduct 样式代码生成的类,例如将为我创建文档声明。有谁知道我必须做些什么才能生成这些类?
编辑:我忘了提到我只在盒子上安装了1.6 jdk,并且我在Maven上设置了1.6源和目标的必要位。
<dependencies>
<!-- JDO Dependencies -->
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>[2.9, )</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-api-jdo</artifactId>
<version>[2.9, )</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-jdo-query</artifactId>
<version>[2.9, )</version>
</dependency>
<dependency>
<groupId>javax.jdo</groupId>
<artifactId>jdo-api</artifactId>
<version>[3.0, 4.0)</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/groovy</sourceDirectory>
<plugins>
<!-- This plugin does compile time enhancement of the entity classes using
bytecode weaving -->
<plugin>
<groupId>org.datanucleus</groupId>
<artifactId>maven-datanucleus-plugin</artifactId>
<version>3.0.0-release</version>
<configuration>
<metadataIncludes>**/entities/*.class</metadataIncludes>
<generateConstructor>true</generateConstructor>
<enhancerName>ASM</enhancerName>
<quiet>true</quiet>
<verbose>false</verbose>
</configuration>
<executions>
<execution>
<id>enhance-classes</id>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
答案 0 :(得分:0)
使用JDK1.6 +,因为这将调用CLASSPATH中的任何注释处理器。适合所有人。与“maven-datanucleus-plugin”无关。 “Q”类只是编译步骤的一部分(或更好的“预编译”)