openjpa 2.1.1 を永続化フレームワークとして使用する spring mvc アプリがあります。STS で Maven プロジェクトとして開発され、vFaric TC サーバー (Tomcat 7) でローカルに実行されます。
war を初めて Websphere 8.5 にデプロイしたとき、war ファイルにある次の 3 つの openjpa jar とクラスローダーの競合が発生しました。
geronimo-jpa_2.0_spec-1.1.jar geronimo-jta_1.1_spec-1.1.1.jar 検証-api-1.0.0.GA.jar
これらを war から削除し、Websphere にバンドルされている openjpa に延期するとうまくいきました。そのため、openjpa POM 依存関係のスコープを「コンパイル」から「提供」に変更しました (これらの jar が war ファイルにパッケージ化されないように)。
Tomcat 7 は Java EE に準拠していないため、Tomcat\lib に 3 つの jar を配置しました (Tomcat をラップする vfabric-tc-server lib も試しました) が、起動時に JPA クラスがアプリから見えませんでした (noclassdeffound 例外コンソール)。
また、STS内の「起動構成」からサーバークラスパスにjarを追加しようとしました-運もありません。
JPAがアプリの前にロードされるように、Tomcatのどこかに設定する必要があるクラスローダーの順序はありますか?
私が必要としているのは、Tomcat または Websphere にデプロイされたときに機能するビルドです。
どんな助けでも大歓迎です。