2

ハドソン統合サーバーでSpringRooプロジェクト(= Spring MVC+アスペクトj+休止状態)のビルドを実行しようとしています。

プロジェクトは使用するように構成されています

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

ローカルのMavenを使用したビルドは正常に機能しますが、サーバー上の環境が他のバージョンを注入しているようで、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を使用していませんでした:)

4

2 に答える 2

3

プロジェクトでJPA2を使用していますか?

JPA2はJavaEE6の一部であり、私が見たところ、次の方法を使用しています。

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

EntityManagerを調べるとわかるように、このメソッドはJPA1(Java EE 5)には存在しません。

Query createQuery(String qlString)

存在します。

これはすべて、ハドソンがjavax.persistenceJPA1に使用していることを意味します。私はハドソンを使ったことがないのでjavax.persistence、JPA2で使えるかどうか調べてみる必要があります。

于 2010-11-19T11:14:19.750 に答える
0

奇妙なのは、それがローカルで機能することです。

JPA 1に依存していますが、JPA 2のメソッドを使用してください(createQuery(query, class))。

ローカルクラスパスを確認してください。

于 2010-11-19T11:15:20.067 に答える