1

Axis2 を使用して Tomcat にデプロイする Web サービスを作成しています。Web サービスと MySQL データベースの間でデータを永続化するために Hibernate3 を使用しています。

IDE を介してアプリケーションを実行すると、Axis2 を介して公開しているメソッドが意図したとおりに機能しますが、.aar を Tomcat にデプロイすると、hibernate.cfg.xml が見つからないという SOAP エラーが表示されます。

ただし、.aar 内には、すべての構成ファイルとすべてのマッピング ファイルが含まれていることがはっきりとわかります。

回避策を決定しました。Netbeans ビルド/クラス フォルダーから得られたファイルを axis2/WEB-INF/class フォルダーに配置すると、アプリケーションは期待どおりに動作します。

私の質問は、ビルド/クラス フォルダーの内容を axis2/WEB に手動でコピーする必要なく、展開された .aar を介して Axis2 が構成ファイルとマッピング ファイルを取得できるように、アプリケーションを展開するためのより良い方法があるかどうかです。 -INF/class フォルダ?

4

1 に答える 1

0

.aarアーカイブには、/ META-INF/services.xmlファイルが必要です。そのファイルを編集し、ServiceTCCLパラメーターをサービスのコンポジットに設定します。

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

次に、hibernate.cfg.xmlを.aarアーカイブ内の同じMETA-INFディレクトリに配置します。これにより、Hibernateがクラスパスからロードできるように構成ファイルが使用可能になります。

于 2011-04-15T19:05:43.843 に答える