如何让eclipse不下载XSD?

时间:2010-12-27 13:25:35

标签: java eclipse download xsd

每次我打开具有xsd声明的文件(如Seam's components.xml)Eclipse开始下载xsd文件时,Seam非常模块化,所以它使用10个xsd文件。如何让Eclipse不下载这些文件或下载一次(可能因为插件没有使用代理配置而无法下载),甚至可以将它们下载到某个目录中?

P.S。我不知道它的JBossTools是否具体,也许它的行为继承自WTP插件。

4 个答案:

答案 0 :(得分:3)

XML目录应该有效。这是它的预期功能。确保添加正确的条目并包括间接引用其他模式的模式。

将XSD文件输入目录时,您需要知道访问该文件的URL。如果您在错误的URL下输入它,它将无法在目录中找到,Eclipse将访问Internet以尝试找到它。要确定要使用的URL,请查看引用这些模式的XML文件。如果存在schemaLocation属性,则会告诉您要使用的URL。否则,请使用命名空间URL。

插件也可以为XML目录提供条目。如果JBoss Tools为Seam提供工具,理想情况下它应该在插件中提供它需要的XSD文件并自动在目录中注册它们。您可能想在JBoss Tools上打开增强请求。

答案 1 :(得分:1)

我认为您可以在Eclipse中创建目录条目以在本地引用XSD。

窗口>偏好> XML> XML目录

答案 2 :(得分:1)

他们的关键是使用完整的URL,包括带有命名空间的Key中的XSD文件名。仅使用命名空间不起作用。

打开Eclipse首选项,转到XML目录并手动添加每个xsd,从文件系统中选择它。

你不需要重启eclipse(我使用的是3.6+),但你可能需要重建你的项目。

您也可以以编程方式将一个或多个XSD文件添加到项目中,但这可能无法帮助您进行自动完成。

相关的Eclipse插件问题: How to add an XSD to Eclipse catalog directly

答案 3 :(得分:0)

在我的情况下,我使用XML目录作为Konstantin Komissarchik提出但是我还必须删除每个XSD文件中每个<import> - Statement中的schemaLocation属性。这里解释了原因http://wiki.eclipse.org/Using_the_XML_Catalog#FAQ

  

我已按名称空间注册XML Schema,但XML文件仍使用'xsi:schemaLocation'值。为什么?   显式指定的架构位置值优先于由命名空间键入的XML Catalog条目。