繁体   English   中英

如何告诉JAXB marshaller使用我的bean的package-info中提供的schemaLocation?

[英]How do I tell the JAXB marshaller to use the schemaLocation provided in my beans' package-info?

我试图让我的JAXB marshaller使用提供的schemaLocation 而不使用

marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, "some location");

我看到有一个选项可以在我的包描述符中提供一个模式位置

@javax.xml.bind.annotation.XmlSchema(
    namespace = "http://my.website.com/TheClass"
  , elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED
  , location = "http://my.website.com/TheClass TheClass.xsd"
)
package com.mypackage.beans;

但它不会在xml中打印

我假设你的主要问题是你的marshaller生成的XML错过了所需的名称空间。

您是否尝试在包描述符中的XmlSchema注释中添加xmlns={@XmlNs(prefix="your_name_space", namespaceURI="http://my.website.com/TheClass")}

(建议取自: 缺少JAXB名称空间前缀

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM