2

jboss-as-7 に ear をデプロイしています。2 つの ejb jar と 1 つの war ファイルがあります。以下は、application.xml ファイルの構造です。

<module>
    <ejb>ejb1.jar</ejb>
</module>
<module>
    <web>
        <web-uri>web1.war</web-uri>
        <context-root>root/test</context-root>
    </web>
</module>
<module>
    <ejb>ejb2.jar</ejb>
</module>

この ear デプロイメントには外部ライブラリの依存関係が必要なので、jboss-deployment-structure.xml ファイルに依存関係を追加しました。

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
   <ear-subdeployments-isolated>true</ear-subdeployments-isolated>
   <deployment>
    <dependencies>
        <module name="deployment.local.fwk" export="true"/>
    </dependencies>
   </deployment>
  <module name="deployment.local.fwk">
    <resources>
        <resource-root path="myclasses.jar"/> 
    </resources>
  </module> 
</jboss-deployment-structure>

この jar ファイルは module/local/fwk フォルダーにあります。ここに何が欠けているのかわかりませんが、展開中に myclasses.jar に存在するクラスに対して NoClassDefFoundError を取得しています。

4

1 に答える 1

1

クラスのロード方法に関する詳細なドキュメントは、次の場所で指定されています。

https://docs.jboss.org/author/display/AS71/Class+Loading+in+AS7

ear-subdeployments-isolated を true に設定したため、マニフェスト ファイルに Class-Path エントリを設定しましたか。

" ear-subdeployments-isolated が true に設定されている場合、サブデプロイメント間の自動モジュール依存関係は設定されません。ユーザーは Class-Path エントリを使用して手動で依存関係を設定するか、明示的なモジュール依存関係を設定する必要があります。 "

于 2013-05-10T05:31:42.907 に答える