1

我已从 Glassfish v2.1 迁移到 Glasfiss 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 安装中的 domain/domain1/lib 文件夹,问题就会消失,我可以正确部署网络应用程序。但我不能使用这种方法,我需要每个网络应用程序使用自己的库。

有谁知道可能是什么问题?

提前致谢!

4

1 回答 1

0

问题是我的 Web 应用程序有 2 个描述符文件:一个 web.xml 和一个 sun-web.xml(用于兼容性问题)。

我删除了 sun-web.xml 并且问题消失了。我可以在没有相关问题的情况下部署 WAR。

感谢您的回答。

于 2013-01-28T14:06:01.097 回答