Java Glassfish 3:web应用程序部署不&x27;我找不到图书馆
我已经从Glassfish v2.1迁移到Glasfiss 3.1.2.2。我在Glassfish v2.1中部署并运行了几个web应用程序(WAR),但在Glassfish v3.1.2.2中部署其中一些应用程序时遇到了问题 当我尝试在Gfv3中部署WAR文件时,我总是得到一个与web.xml描述符中定义的库相关的ClassNotFoundException,例如:Java Glassfish 3:web应用程序部署不&x27;我找不到图书馆,java,glassfish,glassfish-3,war,Java,Glassfish,Glassfish 3,War,我已经从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
<listener>
<listener-class>org.directwebremoting.servlet.DwrListener
</listener-class>
</listener>
org.directwebremoting.servlet.DwrListener
或
javax.xml.parsers.DocumentBuilderFactory
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
这些库包含在web app web-INF/lib目录中。如果我将它们复制到Glassfish安装中的domains/domain1/lib文件夹中,问题就解决了,我可以正确地部署web应用程序。但我不能使用这种方法,我需要每个web应用使用自己的库
有人知道问题出在哪里吗
提前谢谢 问题在于我的Web应用程序有两个描述符文件:一个Web.xml和一个sun-Web.xml(用于兼容性) 我删除了sun-web.xml,问题就消失了。我可以在没有相关问题的情况下部署战争
谢谢您的回答。jar文件在war文件中的位置正确吗?(
/WEB-INF/lib/
)?这在GlassFish 3.1.x中工作,因此我将仔细检查库jar是否在WEB-INF/lib中,以及它们是否确实包含WEB.xml中命名的类。不要只看你的构建配置;从.war中提取library.jars,并在每个library.jar中查找所需的.class文件。
<init-param>
<param-name>javax.xml.parsers.DocumentBuilderFactory</param-name>
<param-value> com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
</param-value>
</init-param>