假设我有两个项目,A 和 B。Java 项目,以防万一。
项目 A 包含一堆代表核心类型和元素的 XSD 文件。它们都放在一个叫做“定义”的包中。这被内置到project-a.jar
.
Project B 代表一个扩展项目,它可以定义自己的类型和元素。我创建了一个新模式并将其放在“definition.extension”包中。这被内置到project-b.jar
.
现在,对于项目 B 中的 XSD,我究竟应该把什么作为schemaLocation
for an include
?
schemaLocation="../core-types.xsd"
不太好用(我知道,它需要一个 URI),但是正确或标准的方法到底是什么?谷歌发现我有更多的人问这个问题,关于什么是处理这个问题的正确方法的明确、标准的方法。
不可能是我schemaLocation
在运行时以编程方式调整...或者我需要一个构建步骤/脚本来动态替换schemaLocation
编译期间的...对吗?
我不是在寻找诸如“将它们放在共享位置”之类的答案。我正在寻找更多类似于使用相对引用而不是硬编码引用的开发环境的东西。
仅供参考,我正在使用 IntelliJ IDEA,以防有特定于 IDE 的方法。