当前位置: 代码迷 >> 综合 >> 修正Elcipse下ActiveMQ的XML配置文件的cvc-complex-type.2.4错误。
  详细解决方案

修正Elcipse下ActiveMQ的XML配置文件的cvc-complex-type.2.4错误。

热度:14   发布时间:2023-12-10 05:19:09.0
ActiveMQ的发布包里利用Spring的Spring.Handlers和Spring.schemas,将XML配置文件的Schema转置到jar包里的activemq.xsd文件,但是这也造成了Eclipse无法正确校验配置文件,而报告cvc-complex-type.2.4错误,另外,在ActiveMQ的配置文件里的schemaLocation只能千古不变的写上:
[code]
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd
[/code]

任何企图加上版本号的举动都会在运行时造成cvc-complex-type.2.4错误,(看着聪明实际愚蠢的做法),apache小组自鸣得意的说,这是为客户着想。。

当我们正确写上http://activemq.apache.org/schema/core/activemq-core.xsd,Eclipse就傻眼了,因为activemq-core.xsd根本不存在,我们必须手工配置让它去jar包里找。。。。

1. 打开Windows->Preferences
2. 选择XML->XML Catalog
3. 在User Specified Entries添加两项:
[code]
Location:jar:file:<path for activemq>\activemq-core-5.3.0.jar!/activemq.xsd
key type: Namespace Name
key:http://activemq.apache.org/schema/core
[/code]

[code]
Location:jar:file:<path for activemq>\activemq-core-5.3.0.jar!/activemq.xsd
key type: Schema Location
key:http://activemq.apache.org/schema/core/activemq-core.xsd
[/code]

这下Eclipse里的红叉叉总算去掉了....你也可以把所有的XSD打成一个jar,然后让Eclipse从jar包里读取XSD.
  相关解决方案