当我在Weblogic 10.3.6中部署我的WAR时,它运行但在weblogic 10.3.0中它会抛出这个:
无法加载描述符 d:\ bea103 \ user_projects \域\ SRVWinplex \部署\ WinplexAdmin.war / WEB-INF / weblogic.xml中 模块WinplexAdmin.war。错误是 weblogic.descriptor.DescriptorException:Unmarshaller失败了 weblogic.descriptor.internal.MarshallerFactory $ 1.createDescriptor(MarshallerFactory.java:152) 在 weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:306) 在 weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:788) 在 weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:409) 在 weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:759) 在 weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:768) 在 weblogic.servlet.internal.WebAppDescriptor.getWeblogicWebAppBean(WebAppDescriptor.java:170)
我猜这是weblogic.xml的问题。这是我的weblogic.xml(没有基本标签):
<jsp-descriptor> <keepgenerated>true</keepgenerated> <debug>true</debug> </jsp-descriptor> <context-root>/WinplexAdmin</context-root> <library-ref> <library-name>jsf</library-name> <specification-version>2.0</specification-version> <implementation-version>1.0.0.0_2-0-2</implementation-version> </library-ref> <container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor>
这里有什么问题?
答案 0 :(得分:3)
解决。我正在使用更新的weblogic.jar进行编译 我的意思是:我将Weblogic 10.3.6附加到NetBeans,因此它是一个不同的weblogic.xml。
Weblogic 10.3.0的正确weblogic.xml是这样的:
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
您可以在xml中看到“http://www.bea.com/”,而Weblogic 11g等的weblogic.xml中则包含“java”或“sun”的链接。
我刚下载了Weblogic 10.3.0,将其附加到NetBeans,将项目的服务器从Weblogic 10.3.6更改为10.3.0,然后重新编译。
或者......简单的方法就是替换我在这里粘贴的weblogic.xml代码并编译。
我希望它能解决你的问题。
答案 1 :(得分:0)
如果使用Sun XML Parser而不是默认的Weblogic XML解析器,则会发生以下情况:
问题是,如果在此元素中,Sun解析器无法解析应用程序的web.xml:
<web-app version="2.5" metadata-complete="true" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
xmlns属性位于xmlns:xsi属性之后。
xmlns属性必须在xmlns:xsi属性之前!
花了很长时间才找到它。
答案 2 :(得分:0)
如果以上代码不适合您,那么您可以使用以下代码
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
答案 3 :(得分:0)
如果您尝试过以下解决方案但仍无法正常工作,可能是由于JavaVersion中的版本不匹配,请尝试