Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java weblogic.descriptor.DescriptorException:解组器失败_Java_Jakarta Ee_Weblogic 10.x - Fatal编程技术网

Java weblogic.descriptor.DescriptorException:解组器失败

Java weblogic.descriptor.DescriptorException:解组器失败,java,jakarta-ee,weblogic-10.x,Java,Jakarta Ee,Weblogic 10.x,当我在Weblogic 10.3.6中部署WAR时,它会运行,但在Weblogic 10.3.0中,它会抛出以下命令: 无法加载描述符 D:\bea103\user\u projects\domains\SRVWinplex\Deployments\WinplexAdmin.war/WEB-INF/weblogic.xml 模块WinplexAdmin.war的。错误是 weblogic.descriptor.DescriptorException:解组程序在失败 weblogic.descri

当我在Weblogic 10.3.6中部署WAR时,它会运行,但在Weblogic 10.3.0中,它会抛出以下命令:

无法加载描述符 D:\bea103\user\u projects\domains\SRVWinplex\Deployments\WinplexAdmin.war/WEB-INF/weblogic.xml 模块WinplexAdmin.war的。错误是 weblogic.descriptor.DescriptorException:解组程序在失败 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(没有基本标记):


真的
真的
/WinplexAdmin
jsf
2
1.0.0.0_2-0-2
真的

这里有什么问题?

已解决。我是用一个更新的weblogic.jar编译的 我的意思是:我把WebLogic10.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中看到“”,而weblogic 11g等的weblogic.xml中有与“java”或“sun”的链接

我刚刚下载了Weblogic 10.3.0,将其连接到NetBeans,将项目的服务器从Weblogic 10.3.6更改为10.3.0,然后重新编译

或者。。。简单的方法是将weblogic.xml代码替换为我粘贴在这里并编译的代码


我希望它能解决您的问题。

如果您使用Sun XML解析器而不是默认的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属性之前


我花了很长时间才找到它。

如果上面的代码不适合您,那么您可以使用下面的代码

<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">

如果您尝试了以下解决方案,但仍然无法工作,则可能是由于JavaVersion中的版本不匹配,请尝试

  • 单击Windows
  • 单击首选项
  • 单击Java->Compiler。检查它是否与应用程序中使用的版本匹配。如果不匹配,请更改编译器符合性级别

  • 所有这些问题都与xml初始标记有关,请注意您的weblogic版本和xml的标记,尝试为您的版本找到一个示例并使用它们,
    <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">