我在eclipse kepler和OpenJPA 2.2.1中遇到了同样的问题。
该解决方案非常简单,但有点肮脏。
首先,您需要从该网站上安装OpenJPA的M2E连接器:
http://openjpa-maven-connector.googlecode.com/svn/trunk/openjpa-connector-update-site
接下来,您必须修改POM,并把旁边的OpenJPA的,Maven的插件的ELEMENTO插件(build元素内),下一个定义:
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>openjpa-maven-plugin</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
<versionRange>[1.0,)</versionRange>
<goals>
<goal>enhance</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
所以构建元素应该看起来像这样(用自己的实体包):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<verbose>true</verbose>
<compilerVersion>1.6</compilerVersion>
<source>1.6</source>
<target>1.6</target>
<debug>true</debug>
<debuglevel>lines,vars,source</debuglevel>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>mappingtool</id>
<phase>process-classes</phase>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
<configuration>
<includes>
com/xxxx/xxxx/*
</includes>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!--This plugin definition only affects eclipse, not the mvn command execution -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>openjpa-maven-plugin</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
<versionRange>[1.0,)</versionRange>
<goals>
<goal>enhance</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
您是否找到一个好的解决方案?每次我更改一个实体时,它都不会在IDE进行的构建过程中自动增强;我必须手动调用Maven来执行此操作。 – 2014-09-23 17:41:41
@Caffé我没有。所以我使用Ant脚本来完成这个工作,所以我可以从UI中调用它。它看起来Maven Eclipse插件仍然不满意OpenJPA .. :( – Dreamer 2014-09-23 18:16:04