1

openJPAベースのプロジェクトがあり、それをaarの形式でTomcatの下の次のフォルダーにデプロイする必要があります

tomcat \ webapps \ axis2 \ WEB-INF \ services

しかし、サービスはaarファイル内のMETA-INFフォルダーにpersistence.xmlファイルをロードできないようです。aarファイルの名前をjarに変更する解決策を見つけました。たとえば、DummySerivce.aar-> DummySerivce.jarのように、DummySerivce.jarをlibフォルダーに配置します。

tomcat \ webapps \ axis2 \ WEB-INF \ lib

今回は、persistence.xmlをロードでき、サービスは正常に機能しました。しかし、これは仕様に含まれていないjarファイルを不必要にインポートしました。

だから私の質問は、aarファイルからpersistence.xmlをロードする方法はありますか?コードでpersistence.xmlファイルのパスをオーバーロードすることは可能ですか?

ところで、persistence.xmlにはエンティティ情報のみが残されており、データベース接続パラメーターはすでにコードで定義されており、Axis2を使用しています。

ありがとう!

4

1 に答える 1

4

私は解決策を見つけました。

次の行をservices.xmlに追加することにより、aarファイルにパックされたpersistence.xmlを正常にロードできます。

<parameter name="ServiceTCCL">composite</parameter>

詳細については。http://wso2.org/node/1131を参照してください

次に、副作用があるかどうかを確認します。

TCCL-スレッドコンテキストクラスローダー

  • デフォルト-現状、通常の動作
  • コンポジット-TCCLには、環境(webappなど)からのすべてのjarと、
  • / lib serviceの下のサービスアーカイブ(aar)ファイル-TCCLには、サービスアーカイブ(aar)からのすべてのjarファイルが含まれています
于 2011-01-21T07:20:47.620 に答える