2

当我在 Weblogic 10.3.6 中部署我的 WAR 时,它会运行,但在 weblogic 10.3.0 中它会抛出这个:

无法加载模块 WinplexAdmin.war 的描述符 D:\bea103\user_projects\domains\SRVWinplex\Deployments\WinplexAdmin.war/WEB-INF/weblogic.xml。错误是 weblogic.descriptor.DescriptorException: Unmarshaller failed at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:152) at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:306) at weblogic.application.descriptor .AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:788) at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:409) at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java) at weblogic.application.descriptorLoader2.java:描述符。

我猜这是 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>

这里有什么问题?

4

4 回答 4

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 代码并进行编译。

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

于 2013-11-12T19:41:42.770 回答
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 属性之前!

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

于 2016-01-12T23:10:55.863 回答
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">
于 2016-06-16T08:42:31.667 回答
0

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

  1. 点击窗口
  2. 单击首选项。
  3. 单击Java->编译器。检查它是否与您在应用程序中使用的版本匹配。如果不匹配,请更改编译器合规级别
于 2018-05-18T07:20:39.057 回答