我正在尝试将战争部署到jboss 6,并且我得到以下异常似乎包含了战争中的一个罐子:webservices-rt.jar 这在myeclipse-tomcat中运行良好,那为什么jboss拒绝战争呢?
14:45:03,286 ERROR [AbstractKernelController] Error installing to PostClassLoader: name=vfs:///C:/jboss-6/server/node01/deploy/altorweb.war state=ClassLoader mode=Manual requiredState=PostClassLoader: org.jboss.deployers.spi.DeploymentException: Error during deploy: vfs:///C:/jboss-6/server/node01/deploy/altorweb.war
...
Caused by: java.lang.Error: Error visiting "/C:/jboss-6/server/node01/deploy/altorweb.war/WEB-INF/lib/webservices-rt.jar/com/sun/xml/bind/v2/schemagen/XmlSchemaGenerator$Namespace.class"
at org.jboss.classloading.plugins.vfs.VFSResourceVisitor.visit(VFSResourceVisitor.java:268) [jboss-classloading-vfs.jar:2.2.0.Alpha7]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:407) [jboss-vfs.jar:3.0.0.CR5]
答案 0 :(得分:1)
JBossAS6的unzip实现在某种程度上缺乏功能。基本上,创建zip存档非常容易,在解压缩时会产生相同的错误;那是在战争/耳朵部署期间。为避免此错误,存档中的文件名应为cp437编码。从存档中删除/重命名所有非英语文件名。
** zip容器仅允许按规范使用Cp437和UTF-8编码的文件名,但它缺乏强制执行此规则的功能。不幸的是,打破它很容易。所以它不是严格的JBossAS6错误,但很容易在JBoss上看到这个错误,因为它使用了非java-defult unziping代码。