私は理解したかった親の最後アプリケーションのJBossアプリケーションサーバーに読み込んでいます。 JBoss 4.2.1 GAにはレガシーアプリケーションが導入されています。私たちは親の最後の読み込みを試みています。JBoss ClassLoading親 - 最後のロード
これは、このlinkを参照しています。 私は親の最後の読み込みを学びたかったのです。だから、maven-jar-pluginと設定 - > addDefaultImplementationEntries = trueの単純なmaven jarパッケージアプリケーションを作成しました。私は2つのjarバージョン1.0.0と1.0.1を同じJAR作成Mavenアプリケーションから作成しました。 jarには、単一クラスのTestClassと、クラスがロードされたjarのバージョンを返す単純なString戻りメソッドがあります。 私はjava2ClassLoadingComplianceの使用を体験したかったです。私はserver/deploy/MyApplication/WEB-INF/libにバージョン1.0.0 jarをパッケージ化しました(私のWebアプリケーションはクラスのメソッドを呼び出す単純なサーブレットアプリケーションなので、 。)とserver/libのバージョン1.0.1のjar。
注は:論理的には、アプリケーションのJARの古いバージョンを使用して、サーバーのlibに新しいバージョンが存在し、それを上書きしても意味がありませんが、ちょうどクラスのロードを体験したかったです。
私は、META-INFフォルダ内の任意のjboss-web.xmlのがなければ、次の
- を試してみました。
- 私は、META-INFにjboss-we.xmlを紹介し、java2ClassLoadingCompliance = falseでこれをやってみました。
- java2ClassLoadingCompliance = trueの場合。
アプリケーションlibからのすべての時間クラスは、アプリケーションによってロードされます。
私のjboss-web.xmlがreference
<jboss-web>
<class-loading java2ClassLoadingCompliance="true">
<loader-repository>
com.example:archive=JBossClassLoadingTestServlet-0.0.1-SNAPSHOT.ear
<loader-repository-config>java2ParentDelegation=true</loader-repository-config>
</loader-repository>
</class-loading>
</jboss-web>
のように見える誰かは、JBossに親の最後の構成を理解する私を助けることができますか?私がここでやっている間違いは、アプリケーションlibのクラスが常にロードされることです。
ああ神のJBoss 4.2は、あなたと何が間違っているのですか? :-o – Aaron