【问题标题】:How can I run WSDLToJava from a build.gradle file?如何从 build.gradle 文件运行 WSDLToJava?
【发布时间】:2017-11-04 13:53:54
【问题描述】:

我能够成功地从命令行运行 WSDLToJava 类以从 WSDL 生成 JaxB 类。

   java -Xmx128M  
        -cp "C:\cxf\apache-cxf-3.1.6\lib\cxf-manifest.jar;
             C:\java\jdk1.7.0_80\lib\tools.jar"
        -Djava.util.logging.config.file="C:\cxf\apache-cxf-3.1.6
         \etc\logging.properties" 
         org.apache.cxf.tools.wsdlto.WSDLToJava 
         -d generated -frontend jaxws21 -b C:\Project\jaxb-bindings.xml 
          C:\Project\Service.wsdl

如何从“build.gradle”文件运行相同的命令行?我对 Gradle 完全陌生。

提前感谢您的帮助。 皮特

【问题讨论】:

标签: java jaxb cxf wsdl2java


【解决方案1】:

虽然有一些 Gradle 插件可以实现这一点,但我认为直接通过 JavaExec 任务进行调用同样容易。将以下内容添加到您的build.gradle

ext.cxfVersion = "3.1.6"

configurations {
    wsdl2java
}

dependencies {
    wsdl2java("org.apache.cxf:cxf-tools-wsdlto-core:${cxfVersion}")
    wsdl2java("org.apache.cxf:cxf-tools-wsdlto-frontend-jaxws:${cxfVersion}")
    wsdl2java("org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:${cxfVersion}")
}

task wsdl2java(type: JavaExec) {
    main = "org.apache.cxf.tools.wsdlto.WSDLToJava"
    classpath = configurations.wsdl2java
    // Uncomment to add JVM arguments if necessary (e.g. for cert-based security)
    //jvmArgs = [
    //    "-Djavax.net.ssl.keyStore=${keystorePath}",
    //    "-Djavax.net.ssl.keyStorePassword=${keystorePassword}"
    //]
    args = [
        "-d", "src/gen/java",
        "example.wsdl"
        // Uncomment and remove the previous line to run for multiple WSDL files
        //"-wsdlList, "wsdls.txt"
    ]
}

// If you want to be able to debug the wsdl2java task from Eclipse, add the following
//eclipse {
//    classpath {
//        plusConfiguration += [configurations.wsdl2java]
//    }
//}

通过运行gradlew wsdl2java来执行任务。

【讨论】:

  • 谢谢你 1) 他上面的建议 2) 编辑我的问题更清楚。
  • 我在 "classpath = configurations.wsdl2java" 行收到错误:类型不匹配。必需:找到 FileCollection:NamedDomainObjectProvider
猜你喜欢
  • 2016-11-22
  • 1970-01-01
  • 2013-10-10
  • 1970-01-01
  • 1970-01-01
  • 2019-03-27
  • 2020-01-26
  • 1970-01-01
  • 2020-03-09
相关资源
最近更新 更多