2014-12-03 35 views
1

我使用cxf-codegen-plugin在构建时使用Maven生成一系列WS客户端。这些WSDL使用相对路径引用一些XSD模式定义,如下所示:../someService/schema.xsdcxf-codegen-plugin排除XSD文件

现在,当我从Eclipse中触发构造时,这会正常工作,因为我的XSD文件放置在正确的路径中。

但是当我从詹金斯启动施工作业时,它失败了,因为它似乎使用Jenkins工作区作为构造的根。

我甚至不知道你是否可以改变Jenkins的这种行为,但由于我无法控制我的Jenkins实例,我想知道的是cxf-codegen-plugin完全排除了XSD处理,然后生成这些类明确地使用不同的执行阶段和不同的插件。

我读过你可以做这样的:

<defaultOptions> 
    <extraargs> 
     <extraarg>-nexclude</extraarg> 
     <extraarg>http://*.ws.cntxes.emprego.xunta.es</extraarg> 
    </extraargs> 
</defaultOptions> 

但这是假设我知道之前那些构建命名空间,这是我不(WSDL文件是从使用maven依赖插件的外部依赖采取)。

我也试过:

<wsdlRoot>${basedir}/src/main/resources/wsdl</wsdlRoot> 
<includes> 
    <include> 
    **/*.wsdl 
    </include> 
</includes> 
<excludes> 
    <exclude> 
    *.xsd 
    </exclude> 
</excludes> 

但是,这并不工作,插件只是不断解析XSD文件,并生成相关的类。

是否有任何其他方式我不知道,以防止解析XSD文件,并只处理WSDL定义?

编辑:这是错误Jenkins是给我:

[ERROR] Failed to execute goal org.apache.cxf:cxf-codegen-plugin:2.7.3:wsdl2java (generate-sources-wsclient-cxf) on project my-project: Execution generate-sources-wsclient-cxf of goal org.apache.cxf:cxf-codegen-plugin:2.7.3:wsdl2java failed: org.apache.cxf.wsdl11.WSDLRuntimeException: Fail to create wsdl definition from : file:/var/lib/jenkins/workspace/MYPROJECT/myproject-webservice/src/main/resources/wsdl/Descriptor/serviceDescriptor.wsdl 
[ERROR] Caused by : WSDLException (at /definitions/types/xsd:schema): faultCode=PARSER_ERROR: Problem parsing '../xsd/schema.xsd'.: java.io.FileNotFoundException: /var/lib/jenkins/workspace/xsd/actividadFormativa.xsd (No such file or directory) 

它正在寻求对詹金斯的工作区的根,而不是

+0

主要问题是,为什么相对路径在Jenkins表现不同?它是否从Maven的命令行起作用? – lexicore 2014-12-03 09:21:35

+0

林不知道,但我的理解它使用mvn命令行控制台来建立项目 – MichelReap 2014-12-03 09:33:07

+0

我已更新我的问题,以反映詹金斯的错误消息 – MichelReap 2014-12-03 09:36:58

回答

0

我有同样的问题(只能用wsdl文件)。长期研究后,我想通了,这个问题是区分大小写的问题 - 窗口(本地CLI和Eclipse构建),并在Linux/Unix哈德森/詹金斯生成环境:

有问题的WSDL有一个大字母小号

<wsdlOption> 
<wsdl>${basedir}/src/main/resources/Some.wsdl</wsdl> 
</wsdlOption> 

但在文件系统中的文件是some.wsdl 所以这是不是路径问题(... /工作区/ ...),因为我还初步预计...