今天一个同事问我项目部署在weblogic出现The error is weblogic.descriptor.DescriptorException: Unmarshaller failed这个异常,在tomcat上面是正常,在网上找了一些解决方法,主要都是讲需要把web-app由2_5改成2_4版本的
自动生成的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
</web-app>
我修改后的简单的web.xml
<web-app xmlns:j2ee="http://java.sun.com/xml/ns/j2ee">
</web-app>
或者
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
</web-app>
就上面的web.xml文件我又重新尝试了一下,为什么会出现版本不符合的问题,也许是weblogic不支持这个版本,所以我也重新新建一个web project,后来出现一个选择版本的问题,默认选择J2EE 1.4,而我们经常选择前面一个,Jave EE 5.0(因为选择1.4的有个警告,而5.0没有警告),这个时候我尝试用J2EE 1.4,发现自动生成的web.xml已经是上面的了,这告诉我们有的时候还是注意一下版本问题,适当的时候还是需要用一下老的版本,新版本需要支持的。
转自:http://blog.sina.com.cn/s/blog_5d31611a0100d1xp.html