如何在package-info.java
中外化命名空间值@javax.xml.bind.annotation.XmlSchema(namespace = "http://loclahost:9093/Request", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
在上面的代码中应该如何外化“http:// loclahost:9093 / Request”。
非常感谢任何帮助
答案 0 :(得分:2)
注释属性值必须是编译时常量,因此您可以做的最好的事情是在另一个类中声明public static final String NAMESPACE = "http://example.com"
,然后在注释中说出namespace = MyClass.NAMESPACE
。但是,当package-info.java
更改时,您仍需要重新编译MyClass
。
答案 1 :(得分:2)
@XmlSchema
注释上指定的命名空间并不意味着与XML架构的物理位置相关联。它用于限定元素,以便您的address
元素与其他组织使用address
元素不同。这与Java中的包名称类似。与包名一样,人们通常会为此目的使用域名。我想不出有一个很好的理由让命名空间看起来像:http://loclahost:9093/Request
。