如何使用gradle增强openJPA的类
我一直在设置一个简单的测试程序 -蚀 -gradle(eclipsebuildship插件) -openjpa 当我尝试运行我的应用程序时,当我调用entityManager.persist(…)方法时,会出现以下错误: 线程“main”org.apache.openjpa.persistence.ArgumentException中出现异常:尝试强制转换实例“test.jpa”。Person@27c6e487“要持久化失败。确保它已得到增强。 失败对象:test.jpa。Person@27c6e487 这个程序很简单,它只有一个实体(Person.java)。 My persistence.xml如下所示:如何使用gradle增强openJPA的类,gradle,openjpa,Gradle,Openjpa,我一直在设置一个简单的测试程序 -蚀 -gradle(eclipsebuildship插件) -openjpa 当我尝试运行我的应用程序时,当我调用entityManager.persist(…)方法时,会出现以下错误: 线程“main”org.apache.openjpa.persistence.ArgumentException中出现异常:尝试强制转换实例“test.jpa”。Person@27c6e487“要持久化失败。确保它已得到增强。 失败对象:test.jpa。Person@27c6
org.apache.openjpa.persistence.PersistenceProviderImpl
我使用了RuntimeUnenhancedClasses=unsupported和DynamicHancedAgent=false,因为这是apache推荐的。但我尝试过使用“supported”和“true”,但仍然得到了相同的错误(对于openjpa 2.1.0版-对于更高版本,我得到了一个带有“supported/true”的LinageError)
我尝试过jpa的不同版本,目前使用的是2.4.2
我已经为gradle脚本做好了准备,以提高我的课堂水平,我试过了
- 'at.schmutterer.oss.gradle:gradleOpenJPA:0.2.0'
- “neva.openjpa”
提前谢谢 以防万一其他人也有同样的挣扎。我找到了解决这个问题的方法: TomEE提供JPA和所需的一切。eclipse“gradle buildship”插件可用于编译代码。因此,以下组件的组合对我来说非常好:
- apache-tomee-plus-7.0.2
- tomcat v8.5服务器(指向apache tommee安装)
- 动态Web项目(使用动态Web模块3.1)
- Java运行时环境v1.8
apply plugin: 'war'
repositories {
mavenCentral()
}
dependencies {
providedCompile "javax:javaee-api:7.0"
}
我想它也适用于Tomee1.7.x和JavaEEAPI:6.0,但我还没有尝试过
apply plugin: 'war'
repositories {
mavenCentral()
}
dependencies {
providedCompile "javax:javaee-api:7.0"
}