我正在使用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?
答案 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
中的所有内容都会放入类路径的根目录中。