1

Java Web サービスを Tomcat 5.5.20 サーバーにデプロイしようとしています。Tomcat の webapps ディレクトリにある .war ファイルにパッケージ化された Web サービスがあり、Tomcat を起動すると .war ファイルが抽出されることがわかります。

ただし、Tomcat を起動すると、次のエラーが表示されます。

2012 年 4 月 22 日 5:16:31 AM com.sun.xml.ws.transport.http.servlet.WSServletContextLstener contextInitialized
情報: WSSERVLET12: JAX-WS コンテキスト リスナーを初期化しています
2012 年 4 月 22 日 5:16:31 AM com.sun.xml.ws.transport.http.servlet.WSServletContextLstener parseAdaptersAndCreateDelegate
SEVERE: WSSERVLET11: ランタイム記述子の解析に失敗しました: java.lang.LinkageError: JAXB 2.1 API はブートストラップ クラスローダーからロードされていますが、この RI (jar:file:/home/username/WebNMS/apache/tomcat/webapps/WebServices から) /WEB-INF/lib/jaxb-impl.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) には 2.2 API が必要です。承認されたディレクトリ メカニズムを使用して、jaxb-api.jar をブートストラップ クラスローダーに配置します。(http://java.sun.com/j2se/1.6.0/docs/guide/standards/を参照)
java.lang.LinkageError: JAXB 2.1 API はブートストラップ クラスローダーからロードされていますが、この RI (jar:file:/home/username/WebNMS/apache/tomcat/webapps/WebServices/WEB-INF/lib/jaxb-impl から) .jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) には 2.2 API が必要です。承認されたディレクトリ メカニズムを使用して、jaxb-api.jar をブートストラップ クラスローダーに配置します。(http://java.sun.com/j2se/1.6.0/docs/guide/standards/を参照)
com.sun.xml.bind.v2.model.impl.ModelBuilder で。(ModelBuilder.java:178)

/home/username/WebNMS/apache/tomcat/webapps/WebServices/WEB-INF/lib ディレクトリには、jaxb-api.jar を含む JAX-WS 2.2.6 のすべての jar ファイルがあります。

Tomcatを起動するWebNMSプロセスを起動するコマンドに「-Djava.endorsed.dirs=/home/username/WebNMS/apache/tomcat/webapps/WebServices/WEB-INF/lib」を追加しましたが、それは役に立ちませんでした.

また、/home/username/WebNMS/jre/lib ディレクトリに、/home/username/WebNMS/apache/tomcat/webapps/WebServices/WEB-INF/lib を指す「endorsed」というシンボリック リンクを追加してみました。それも役に立ちませんでした。

興味深い点の 1 つは、「find /home/username/WebNMS -name jaxb-api.jar」を実行すると、/home/username/WebNMS/apache/tomcat/webapps で 1 つの jaxb-api.jar しか見つからないことです。 /WebServices/WEB-INF/lib ディレクトリ。他に jaxb-api.jar ファイルはありません。したがって、JAXB 2.2.6 API jar ファイルしかないのに、JAXB 2.1 API がロードされているというエラーが表示される理由がわかりません。/home/username/WebNMS ディレクトリの外で何かを見つけていない限り、承認されたディレクトリを設定するために 2 つの異なる方法を試したことを考えると、それは起こるべきではありません。

4

0 に答える 0