gpt4 book ai didi

java - 为什么我的 xml 的 JAXB namespace 设置为默认 ns1?

转载 作者:搜寻专家 更新时间:2023-10-31 20:04:06 26 4
gpt4 key购买 nike

我使用 NetBeans 7.2(在 Windows 7 环境中!)从我的 Web 应用程序构建了一个 war 文件,它在 NetBeans 上下文中使用 GlassFish 3.1.2 服务器在测试阶段正确运行。

package-info.java 文件中定义的命名空间已正确添加到我的 xml 文件中。

但是,当我在 Linux 机器上单独运行的 GlassFish 服务器中部署 war 文件时, namespace 设置为默认的 ns1 而不是 package-info.java 文件定义的 namespace ?

我做错了什么?

问候,杰拉德

最佳答案

Why is JAXB namespace of my xml set to default ns1?

ns1 不是命名空间而是前缀。前缀并不重要。例如下面的文件都是等价的。 foo 元素位于 FOO 命名空间中,bar 元素位于 BAR 命名空间中。

<a:foo xmlns:a="FOO" xmlns:b="BAR>
<b:bar>Hello World</b:bar>
</a:foo>
<ns1:foo xmlns:ns1="FOO" xmlns:ns2="BAR>
<ns2:bar>Hello World</ns2:bar>
</ns1:foo>
<foo xmlns="FOO" xmlns:b="BAR>
<b:bar>Hello World</b:bar>
</foo>

What am I doing wrong?

没有。 JAXB (JSR-222)实现不需要使用 @XmlSchema 注释中指定的前缀。 EclipseLink JAXB (MOXy)确实和最近版本的 JAXB RI 似乎。 NetBeans 7.2 中 JAXB 的版本/实现似乎是,而 GlassFish 3.1.2 使用的 JAXB 版本/实现不是。

下面是我写的一篇文章的链接,该文章更详细地介绍了可能在这里有用的 NamespacePrefixMapper 扩展。

关于java - 为什么我的 xml 的 JAXB namespace 设置为默认 ns1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14579115/

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