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

ActiveMQ的发布包里利用Spring的Spring.Handlers和Spring.schemas,将XML配置文件的Schema转置到jar包里的activemq.xsd文件,但是这也造成了Eclipse无法正确校验配置文件,而报告cvc-complex-type.2.4错误,另外,在ActiveMQ的配置文件里的schemaLocation只能千古不变的写上:

http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd

任何企图加上版本号的举动都会在运行时造成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->XMLCatalog

3.在UserSpecifiedEntries添加两项:

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

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

相关推荐