修正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->XML Catalog
3. 在User Specified Entries添加两项:
Location:jar:file:<path for activemq>\activemq-core-5.3.0.jar!/activemq.xsdkey type: Namespace Namekey:http://activemq.apache.org/schema/core
Location:jar:file:<path for activemq>\activemq-core-5.3.0.jar!/activemq.xsdkey type: Schema Locationkey:http://activemq.apache.org/schema/core/activemq-core.xsd
这下Eclipse里的红叉叉总算去掉了....你也可以把所有的XSD打成一个jar,然后让Eclipse从jar包里读取XSD. 1 楼 swanky_yao 2012-03-02 xsi:schemaLocation下面直接写classpath:/activemq-core-5.3.0.jar!/activemq.xsd不行么?