1

Glassfish v2.1 から Glassfiss 3.1.2.2 に移行しました。Glassfish v2.1 でいくつかの Web アプリケーション (WAR) を展開して実行していましたが、Glassfish v3.1.2.2 でそれらのいくつかの展開に問題があります。

Gfv3 で WAR ファイルをデプロイしようとすると、次のような web.xml 記述子で定義されたライブラリに関連する ClassNotFoundException が常に発生します。

<listener>
    <listener-class>org.directwebremoting.servlet.DwrListener
    </listener-class>
</listener>

また

    <init-param>
        <param-name>javax.xml.parsers.DocumentBuilderFactory</param-name>
        <param-value> com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
        </param-value>
    </init-param>

これらのライブラリは、web-app WEB-INF/lib ディレクトリに含まれています。それらをGlassfishインストールのdomains/domain1/libフォルダーにコピーすると、問題はなくなり、Webアプリを正しく展開できます。しかし、私はこのアプローチを使用できません。各 Web アプリが独自のライブラリを使用する必要があります。

何が問題になるか知っている人はいますか?

前もって感謝します!

4

1 に答える 1

0

問題は、私のWebアプリケーションに2つの記述子ファイルがあることでした。1つはweb.xmlで、もう1つはsun-web.xmlです(互換性の問題のため)。

sun-web.xmlを削除すると、問題は解消されました。以前に関連した問題なしにWARを展開できました。

回答ありがとうございます。

于 2013-01-28T14:06:01.097 に答える