我有一个maven配置,使用jaxws-maven-plugin从wsdl生成类文件。
我正在尝试使用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注释掉时,我收到以下错误:
[错误]使用&#34; http://annox.dev.java.net&#34;自定义需要 &#34; -xannotate&#34;切换到启用此插件。
当我使用args时,我收到以下错误消息:
无法识别的参数-Xannotate
用法:wsimport [options]
其中[options]包括:
如果有人填写我的配置中的空白以使注释插件与jaxws-maven-plugin一起使用,我将不胜感激。
答案 0 :(得分:0)
您可以将-X标志设置为xjcArgs
而不是args
<xjcArgs>
<xjcArg>-Xannotate</xjcArg>
</xjcArgs>
答案 1 :(得分:0)
我找到了解决方法here。通过添加-Dcom.sun.tools.xjc.XJCFacade.nohack=true
系统属性,我可以解决此问题。
答案 2 :(得分:0)
我花了一些时间,但最终我找到了一个对我有用的组合: 可能最重要的是同时做这两个事情:定义xjcArg:-Xannotate 并在插件定义中定义对org.jvnet.jaxb2_commons:jaxb2-basics-annotate的依赖。