2011-01-21 8 views
0

OpenJPAは新しく、アプリケーションを実行したいと思っています。私はメインメソッドを作成し、そこにコンテキストXMLをロードし、サービスを実行するトランザクションを起動します。しかし、私はそれを実行するときOpenJPAはSpring ROOバッチアプリケーションを強化しています

org.apache.openjpa.persistence.ArgumentException:型 "クラスtld.myproject.domain.Entity "は強化されていません。

私の周りGoogle'dと私はエンハンサーを追加する必要があるだろうことがわかったので、私は私のコマンドラインに次を追加しました:

-javaagent:/home/me/.m2/repository/org/ apacheの/ OpenJPAの/ OpenJPAの/ 2.0.1/OpenJPAの-2.0.1.jar今

、私が手

java.lang.LinkageErrorの:ローダー(日/ miscの/ランチャー$ AppClassLoaderのインスタンス):未遂重複名前のクラス定義: "org/springframework/stereotype/Controller"

多分それはjusです遅くなってしまい、頭がうまく動かないが、ここで何が起こっているのだろう?私のSpring Rooバッチプロジェクトを稼働させるためには何が必要ですか?

乾杯

ニック

PSは、私はおそらく私のpom.xmlにRooのはおそらく時間増強の代わりに、実行時の強化をコンパイルする使用する必要がありますコンパイル相

答えて

1

ためのエンハンサーを定義していることを追加する必要がありますjavaagentで

あなたはそれのようなものを使用するのに十分だろう(おそらく行う)m2eclipseを使用している場合:

<persistence-unit name="persistenceUnit" transaction-type="RESOURCE_LOCAL"> 
    <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> 
    <properties> 
     <property name="openjpa.jdbc.DBDictionary" value="org.apache.openjpa.jdbc.sql.H2Dictionary"/> 
     <!-- value="buildSchema" to runtime forward map the DDL SQL; value="validate" makes no changes to the database --> 
     <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/> 
     <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/> 
    </properties> 
</persistence-unit> 

とあなたのpom.xmlのビルドセクションの内側にあなたのような何かを持っている必要がありますが。

rooが動作しない可能性のある別のXMLスニペットを生成することがあります(IIRCは異なる出力ディレクトリを使用します)。

プロジェクトをクリーンアップした後、クラスを強化する必要があります。

関連する問題