【问题标题】:jaxb2-basics-annotate with jaxws-maven-plugin configuration带有 jaxws-maven-plugin 配置的 jaxb2-basics-annotate
【发布时间】:2017-05-06 22:21:34
【问题描述】:

我有一个使用 jaxws-maven-plugin 从 wsdl 生成类文件的 maven 配置。

我正在尝试让 jaxb2-basics-annotate 插件与生成一起使用,以允许我向生成的输出添加一些注释。

具体插件配置为:

   <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>

...

           <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <dependencies>
                <dependency>
                    <groupId>org.jvnet.jaxb2_commons</groupId>
                    <artifactId>jaxb2-basics-annotate</artifactId>
                    <version>1.0.2</version>
                </dependency>
            </dependencies>
            <executions>
                <execution>
                    <id>travel-itinerary</id>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                    <configuration>
                        <extension>true</extension>
                        <!--<args>-->
                            <!--<arg>-Xannotate</arg>-->
                        <!--</args>-->

当我将 args 注释掉时,我收到以下错误:

[错误] 使用“http://annox.dev.java.net”自定义需要 “-Xannotate”开关来启用这个插件。

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

无法识别的参数-Xannotate

用法:wsimport [选项]

其中 [选项] 包括:

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

【问题讨论】:

    标签: java jax-ws-customization jaxws-maven-plugin


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2023-03-31
          • 1970-01-01
          • 1970-01-01
          • 2014-12-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多