Java 使用jaxws maven插件配置进行jaxb2基础注释

Java 使用jaxws maven插件配置进行jaxb2基础注释,java,jax-ws-customization,jaxws-maven-plugin,Java,Jax Ws Customization,Jaxws Maven Plugin,我有一个maven配置,使用jaxws-maven插件从wsdl生成类文件 我正在尝试让jaxb2基础注释插件与生成一起工作,以允许我向生成的输出添加一些注释 具体插件配置为: <pluginManagement> <plugins> <plugin> <!-- This is the WSIMPORT plugin used to generate code from WSD

我有一个maven配置,使用jaxws-maven插件从wsdl生成类文件

我正在尝试让jaxb2基础注释插件与生成一起工作,以允许我向生成的输出添加一些注释

具体插件配置为:

   <pluginManagement>
        <plugins>
            <plugin>
                <!-- This is the WSIMPORT plugin used to generate code from WSDL -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxws-maven-plugin</artifactId>
                <version>2.4.1</version>
                <configuration>
                    <!-- Keep generated files -->
                    <keep>true</keep>
                    <!-- generated source files destination-->
                    <sourceDestDir>target/generated-sources</sourceDestDir>
                    <!-- this is so the xsd files can be accessed -->
                    <vmArgs>
                        <vmArg>-Djavax.xml.accessExternalSchema=all</vmArg>
                    </vmArgs>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>

org.codehaus.mojo
“自定义需要
“-Xannotate”开关以启用此插件

使用args时,我会收到以下错误消息:

无法识别的参数-Xannotate

用法:wsimport[选项]

其中[选项]包括:


如果有人能填补我配置中的空白,让注释插件与jaxws maven插件一起工作,我将不胜感激。

您可以将-X标志设置为
xjcArgs
而不是
args

 <xjcArgs>
    <xjcArg>-Xannotate</xjcArg>
 </xjcArgs>

-山奈特

我找到了解决方案。通过添加
-Dcom.sun.tools.xjc.xjcafacade.nohack=true
系统属性,我能够解决问题。

我花了一些时间,但最后我找到了一个适合我的组合: 可能最重要的事情是同时做两件事:定义xjcArg:-Xannotate 并在插件定义中定义对org.jvnet.jaxb2_commons:jaxb2 basics annotate的依赖关系

 <xjcArgs>
    <xjcArg>-Xannotate</xjcArg>
 </xjcArgs>