JAXB:使用本地schemaLocation生成Java类

发布于 2024-10-07 00:53:19 字数 503 浏览 8 评论 0原文

我正在尝试使用 JAXB 附带的 xjc 命令从 XSD 模式生成 Java 类。

我的架构如下所示:

<xs:schema xmlns="..." 
           xmlns:ext="http://schemas.myco.com/ext" ... >
  <xs:import namespace="http://schemas.myco.com/ext" 
             schemaLocation="http://myco.com/schemas/ext.xsd"/>
  ...

问题是 schemaLocation URI 不存在,我无法修改 XSD 文件。这就是为什么生成过程失败并出现错误,例如“src-resolve:无法将名称'ext:Resource_Type'解析为(n)'类型定义'组件”。

有没有办法强制 JAXB 在该过程中使用 ext.xsd 文件的本地副本而不修改原始 XSD 文件?

I am trying to generate Java classes from a XSD schema using the xjc command that comes with JAXB.

My schema looks like:

<xs:schema xmlns="..." 
           xmlns:ext="http://schemas.myco.com/ext" ... >
  <xs:import namespace="http://schemas.myco.com/ext" 
             schemaLocation="http://myco.com/schemas/ext.xsd"/>
  ...

The problem is that the schemaLocation URI does not exist and I can not modify the XSD file. That is why the generation process fails with errors such as "src-resolve: Cannot resolve the name 'ext:Resource_Type' to a(n) 'type definition' component".

Is there any way to force JAXB to use a local copy of ext.xsd file during the process without modifying the original XSD file ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无边思念无边月 2024-10-14 00:53:19

两种可能的解决方案:

JAXB Episode 文件:
http://weblogs.java.net/blog /2006/09/05/separate-compilation-jaxb-ri-21

XML 目录(搜索 Google)

Two possible solutions:

JAXB Episode File:
http://weblogs.java.net/blog/2006/09/05/separate-compilation-jaxb-ri-21

or

XML Catalogs (search Google)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文