Web アプリケーションにバンドルしたくない外部 jar があります。私はそれをjettyのクラスパスに置いています。残念ながら、私が展開している環境は非常に制限的であり、コンテキストを含むディレクトリと webapps を含むディレクトリの 2 つのディレクトリにしか書き込むことができません。
外部 jar を webapp ディレクトリに置くことにしました。Web アプリケーションで表示できるようにするために、この追加の jar を表示するように WebAppContext を構成しています。これは私の myAppContext.xml ファイルです
<Configure id="myContext" class="org.mortbay.jetty.webapp.WebAppContext">
<Set name="contextPath">/myApp</Set>
<Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/myApp.war</Set>
<Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>
<Set name="extraClasspath"><SystemProperty name="jetty.home" default="."/>/webapps/myExternalJAR.jar</Set>
<New class="com.mycompany.mypackage.MyExternalClass"></New>
最後の行は、外部 jar にある MyExternalClass をインスタンス化しようとします。jetty を起動すると、構成ファイルのまさにこの行で ClassNotFoundException が発生します。
足りないものはありますか?仕様によると、これは機能するはずです。これに対処する方法についてアドバイスをいただければ幸いです。