You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gradle中实现从WSDL生成Java文件(Ant迁移场景)

在Gradle中基于CXF从WSDL生成Java文件的实现方案

下面提供两种适配你原有Ant逻辑的Gradle实现方式,迁移成本低且符合Gradle构建习惯:

方式一:直接调用CXF工具类(与原有Ant逻辑高度一致)

这种方式完全对应你之前Ant Target的实现逻辑,用Gradle的JavaExec任务替代Ant的java标签:

  1. 在build.gradle(Groovy语法)中添加CXF依赖配置:
// 定义专门用于CXF工具的依赖配置
configurations {
    cxf
}

// 方式A:使用Maven仓库依赖(推荐,无需本地安装CXF)
dependencies {
    cxf 'org.apache.cxf:cxf-tools-wsdlto-core:3.1.7'
    cxf 'org.apache.cxf:cxf-tools-wsdlto-client:3.1.7'
}

// 方式B:沿用本地CXF安装包(和原有Ant配置完全匹配)
// dependencies {
//     cxf fileTree(dir: 'c:/Programs/apache-cxf-3.1.7/lib', include: '*.jar')
// }
  1. 创建生成Java文件的Gradle任务:
task cxfWSDLToJava(type: JavaExec) {
    // 指定CXF的WSDL转Java主类,和Ant中一致
    mainClass = 'org.apache.cxf.tools.wsdlto.WSDLToJava'
    // 绑定CXF依赖类路径
    classpath = configurations.cxf
    // 传递参数,完全对应Ant中的arg配置
    args '-client'
    args '-d', 'src'
    args 'c:\\temp\\wsdl\\Sign.wsdl.xml'
    // 开启进程隔离,对应Ant的fork=true
    fork = true
}

// 确保编译Java代码前先执行生成任务
compileJava.dependsOn cxfWSDLToJava

执行时直接运行./gradlew cxfWSDLToJava即可,或者执行./gradlew compileJava会自动触发生成任务。

方式二:使用CXF官方Gradle插件(更简洁规范)

借助第三方Gradle插件可以简化配置,更符合Gradle的构建生态:

  1. 引入插件并添加依赖:
plugins {
    id 'java'
    // 引入支持CXF wsdl2java的插件
    id 'org.unbroken-dome.xjc' version '2.0.0'
}

dependencies {
    cxf 'org.apache.cxf:cxf-tools-wsdlto-core:3.1.7'
    cxf 'org.apache.cxf:cxf-tools-wsdlto-client:3.1.7'
}
  1. 配置wsdl转Java的任务:
wsdl2java {
    // 指定CXF工具类
    toolClass = 'org.apache.cxf.tools.wsdlto.WSDLToJava'
    // 配置生成参数
    args = ['-client']
    // 指定WSDL文件路径
    source = file('c:\\temp\\wsdl\\Sign.wsdl.xml')
    // 指定生成文件输出目录
    outputDir = file('src')
}

// 绑定编译任务依赖
compileJava.dependsOn wsdl2java

注意事项

  • 推荐将输出目录改为src/main/java,这样生成的代码会自动被Gradle的编译任务识别,无需额外配置源目录。
  • 如果使用Kotlin DSL(build.gradle.kts),只需将上述Groovy语法转换为对应的Kotlin语法即可,核心逻辑一致。

内容的提问来源于stack exchange,提问作者Alexei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:02:02