如何解决此j2ee架构中的重复属性错误?

时间:2011-09-02 12:55:07

标签: java eclipse java-ee xsd weblogic

我继承了为在Weblogic 10上部署而编写的J2EE应用程序,主要负责此应用程序的开发人员在Eclipse中打开项目时不会出现此错误。

我有以下非常简单的weblogic.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/920/weblogic-web-app.xsd">   
    <container-descriptor>
        <prefer-web-inf-classes>true</prefer-web-inf-classes>
    </container-descriptor>
</weblogic-web-app>

Eclipse为此文件生成单个XML验证问题,该问题实际上包含许多相同的错误。 XML问题的父文本是这样的:

  

验证文件“j2ee_1_4.xsd”时检测到以下错误   通过文件“weblogic.xml”。在大多数情况下,这些错误可能是   通过直接验证“j2ee_1_4.xsd”来检测。不过确实如此   可能只有在验证j2ee_1_4.xsd时才会发生错误   weblogic.xml的上下文。

儿童错误的一个例子。他们都是这样读的:

  

sch-props.correct.2:模式不能包含两个具有相同名称的全局组件;此架构包含两次“http://java.sun.com/xml/ns/j2ee,descriptionGroup”。

之后是行号。大约有50个这样的错误,只有错误末尾的引用名称发生了变化。

我在Sun的bug追踪器中发现了以下错误,这似乎表明可能的原因,但我不确定如何将其应用到我的项目中,如果它甚至是相关的。

Impossible to create javax.xml.validation.Schema instance from "web-app_2_4.xsd"

我不禁认为这与我的Eclipse配置有关,但此时我不知所措。

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我在网上发现了一篇关于需要更新到最新模式的文章,所以我在这里查看了Oracle的最新模式版本:http://www.oracle.com/webfolder/technetwork/weblogic/weblogic-web-app/index.html

我使用以下内容修改了我的weblogic.xml文件:

<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.7/weblogic-web-app.xsd">

...
</weblogic-web-app>

此致 何

答案 1 :(得分:0)

你说这是为WL 10写的。

我的weblogic.xml

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

xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">

虽然我可以看到你的指向Weblogic 9命名空间

xmlns="http://www.bea.com/ns/weblogic/90"

更改这会有所作为吗?