maven-2 - java-6-openjdk 中的 javax.persistence

标签 maven-2 hudson spring-roo java

我正在尝试在我的 hudson 集成服务器上执行 Spring Roo 项目(= Spring MVC +spectj + hibernate)的构建。

项目已配置完毕,可以使用

<dependency>
<groupId>javax.persistence</groupId>
<artifactId>com.springsource.javax.persistence</artifactId>
<version>1.0.0</version>
</dependency>

使用本地 Maven 构建工作正常,但服务器上的环境似乎注入(inject)了其他版本的 javax.persistence ,这导致了这些错误:

[ERROR] The method createQuery(String) in the type EntityManager is not applicable for the arguments (String, Class<Long>)
[ERROR] The method createQuery(String) in the type EntityManager is not applicable for the arguments (String, Class<Folder>)

构建是用maven运行的,它的配置是:

Apache Maven 2.2.1 (rdebian-4)
Java version: 1.6.0_18
Java home: /usr/lib/jvm/java-6-openjdk/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux" version: "2.6.32-5-amd64" arch: "amd64" Family: "unix"

编辑:我在本地和服务器上没有使用相同版本的 roo :)

最佳答案

您在项目中使用 JPA2 吗?

JPA2 是 Java EE 6 的一部分,据我所知,您正在使用 this方法:

<T> TypedQuery<T> createQuery(java.lang.String qlString, java.lang.Class<T> resultClass)

此方法在 JPA1 (Java EE 5) 中不存在,您可以通过检查 EntityManager 看到这一点。仅在哪里

Query createQuery(String qlString)

存在。

所有这些都意味着 Hudson 正在为 JPA1 使用 javax.persistence。我还没有使用过 Hudson,因此您必须了解是否可以使其对 JPA2 使用 javax.persistence

关于maven-2 - java-6-openjdk 中的 javax.persistence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4224259/

相关文章:

java - 一个Maven war项目中要打包的不同文件

maven-2 - Maven 是否适合这种情况?

maven-2 - Maven 快速入门指南

tomcat - Tomcat 6 是否已准备好进行持续集成或如何让它工作?

jenkins - 我可以通过修改 config.xml 文件来批量编辑 jenkins 作业吗?

java - 如何在 Spring 应用程序启动时调用自定义数据加载器

java - maven依赖版本冲突

unit-testing - hudson CI - 功能或单元测试用例?

grails - 如何选择 Spring ROO 或 Grails?

java - gvNIX 典型安全性 : no feedback in signup form UI of binding errors