使用schemaLocation参考jar中的XSD?

时间:2014-04-14 09:52:05

标签: java xml spring maven xsd

我正在使用Spring和Maven。我有 ProjectA ProjectB ProjectA 是对 ProjectB 的依赖。我试图在 projectB 的WSDL中引用XSD,但XSD是 ProjectA 的一部分。

我如何引用作为依赖jar的一部分的XSD?

当我这样做时:

schemaLocation="classpath:/src/main/resources/xsd/some.xsd"

我有一个例外unknown protocol classpath

请帮我推荐一下XSD?

1 个答案:

答案 0 :(得分:0)

WSDL按原样传输并由客户端解释。因此,classpath:不会起作用,因为它已经说过,它不是一个有效的协议。您必须在其中放置一个URL,该URL在请求转换为您想要的URL时。您可以使用Spring Resouce映射(即外部放置http://.../xsd/some.xsd,它与Spring MVC <mvc:resources mapping="/xsd/**" location="classpath*:/xsd" />映射。

您不应该包含src/main/resources,因为src/main/resources中的所有内容都会放入类路径的根目录中。