使用jaxws-maven-plugin时为什么我的构建失败?

时间:2012-05-23 18:50:24

标签: maven jaxb jax-ws xjc

根据我的阅读,我相信XJC参数用于自定义o / p Java文件。我们在jaxws-maven-plugin中使用了这些。我在使用' MaskingClassLoader'没有找到哪个解决了添加jaxb-xjc jar的问题。

在jaxws-maven-plugin中,提供的一个xjc参数是' -Xybdisplay'除了' -Xcollection-setter-injector'和' -Xboolean-getter' 。当我尝试做一个' wsimport' ,我收到错误

[INFO] jaxws:wsimport args: [-s, D:\HeartBeat_Admin\test\testmodel\target\jaxws\wsimport\java, -d, D:\HeartBeat_Admin\test\testmodel\target\classes, -extension, -Xnocompile, -B-verbose, -B-extension, -B-Xcollection-setter-injector, -B-Xboolean-getter, -B-Xybdisplay, D:\HeartBeat_Admin\test\testmodel\src\main\wsdl\test.wsdl]
Using java.util.ServiceLoader
[ybdisplay] XJC Plugin class com.sun.tools.xjc.addon.DisplayPlugin instantiated
[ybdisplay] Parse argument -Xybdisplay
parsing WSDL...


[INFO] ------------------------------------------------------------------------

[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18.265s
[INFO] Finished at: Wed May 23 23:35:11 IST 2012
[INFO] Final Memory: 63M/63M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:jaxws-maven-plugin:1.12:wsimport (profile) on project testmodel: Error executing: wsimport [-s, D:\HeartBeat_Admin\test\testmodel\target\jaxws\wsimport\java, -d, D:\HeartBeat_Admin\test\testmodel\target\classes, -extension, -Xnocompile, -B-verbose, -B-extension, -B-Xcollection-setter-injector, -B-Xboolean-getter, -B-Xybdisplay, D:\HeartBeat_Admin\test\testmodel\src\main\wsdl\test.wsdl] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

-e和-X并没有多大帮助。我试图搜索“ybdisplay”这个术语。在xsd但我无法理解问题是什么或自定义如何工作。删除xjc参数' ybdisplay'导致错误,指出我需要启用它进行自定义。

在XSD中我们有以下

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:ybmeta="http://www.yellowbook.com/bp/model/meta"
        xmlns:tns="http://www.yellowbook.com/bp/model/types"
        xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
        xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
        targetNamespace="http://www.yellowbook.com/bp/model/types"
        elementFormDefault="unqualified"
        attributeFormDefault="unqualified" jxb:version="2.0" jxb:extensionBindingPrefixes="ybmeta xjc">

<!-- Use our specific bindings -->
<xsd:annotation>
    <xsd:appinfo>
        <jxb:bindings schemaLocation="test.xsd">
            <jxb:schemaBindings>
                <jxb:package name="com.test.model.api"/>
            </jxb:schemaBindings>
        </jxb:bindings>
    </xsd:appinfo>
</xsd:annotation>

我不确定上述内容是否与xjc论证相关&#39; ybdisplay&#39; 。请指导我使用xjc以及如何调试此问题。

1 个答案:

答案 0 :(得分:0)

这与XJC args无关。如果它对任何人有帮助,那么问题是由于内存耗尽造成的。我在MAVEN_OPTs中修改了堆大小,一切都运行得很好。