1

用于 JAXB的package-info.java的替代方法是什么。我不希望项目中的此类。jaxb 跳过此的替代设置是什么?谢谢你。

4

3 回答 3

2

确实没有必要。如果你想避免 jaxb 在你的代码中加入一些奇怪的东西,比如 ns2 或其他什么,你可以使用它。如果您不喜欢在您的 xml 中看到奇怪的东西,您应该将 package-info.java 放在您的包中以明确定义事物:例如命名空间。

这是一个明确的例子,说明我的意思是Jaxb 生成的 xml - 根元素前缀问题

于 2013-10-18T14:21:21.483 回答
1

如果您一直在使用 xjc 命令生成 JaxB 对象。使用-npa选项可以达到目的。

https://docs.oracle.com/javase/8/docs/technotes/tools/unix/xjc.html

使用 maven 插件时,这也与 Java 11 兼容cxf-xjc-plugin

这是添加参数的示例 https://cxf.apache.org/cxf-xjc-plugin.html

<xsdOption>
    <xsd>${basedir}/.../yourXSD.xsd</xsd>
    <packagename>your.package.name</packagename>
    <extensionArgs>
        <extensionArg>-npa</extensionArg>
        <extensionArg>-no-header</extensionArg>
    </extensionArgs>
</xsdOption>
于 2020-04-30T12:10:46.183 回答
0

如果你使用no.nils.wsdl2java gradle 插件 https://github.com/nilsmagnus/wsdl2java

你最好像这样添加 -xjc-npa选项:

wsdl2java {
    ...
    wsdlsToGenerate = [
            [
                    '-xjc-npa',
                ...
            ]
    ]
}

完整的选项列表如下:https ://docs.oracle.com/javase/8/docs/technotes/tools/unix/xjc.html

于 2021-12-15T10:49:22.330 回答