gpt4 book ai didi

java - XJC 目录不会替换架构导入的本地路径

转载 作者:太空宇宙 更新时间:2023-11-04 13:33:20 25 4
gpt4 key购买 nike

我有一个导入 b.xsd 的模式 a.xsd。我在架构 a.xsd 中有如下条目:

<xs:import namespace="http://www.example.com/v1.0"
schemaLocation="b.xsd"/>

我需要使用 jar(公共(public) sdk)中的模式 b.xsd。所以我使用目录文件如下

SYSTEM "b.xsd" "jar:file:example-api-schemas.jar!/schemas/b.xsd" 

或者SYSTEM“b.xsd”“schemas/b.xsd”以防我在本地文件系统上有它。

由于我无法编辑任何这些 xsd 文件,我认为使用目录是唯一的最后手段。但是,在借助目录文件生成 stub 文件时,找不到异常。我正在使用以下命令来生成文件

xjc -extension -catalog catalog.cat a.xsd

最佳答案

您可能遇到此问题:

https://java.net/jira/browse/JAXB-942

或者也许是 XJC 的其他一些特性。也许 XJC 会尝试匹配 b.xsd 的已解析本地 URI,该 URI 类似于 file:..../b.xsd - 这自然与您的目录不匹配。

尝试以下操作:

  • 尝试添加 -nv 将其 XJC 置于“非验证”模式。有时它会有所帮助。
  • 您可以尝试通过命名空间绑定(bind),而不是通过文件位置绑定(bind):

    公共(public)“urn:namespace:of:b”“jar:file:example-api-schemas.jar!/schemas/b.xsd”

关于java - XJC 目录不会替换架构导入的本地路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31952253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com