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

基于JDK 17和Gradle 7.6从WSDL生成Stub的配置需求

适配JDK 17 + Gradle 7.6的WSDL Stub生成配置

针对JDK 17移除JAX-WS/JAXB模块导致的兼容性问题,以下是可直接使用的build.gradle配置,会在build/generated目录生成Stub类:

plugins {
    id 'java'
}

// 配置源集,将生成的代码目录加入源码路径
sourceSets {
    main {
        java {
            srcDirs += 'build/generated/jaxws'
        }
    }
}

// 引入兼容JDK 17的JAX-WS及JAXB依赖
dependencies {
    // JAX-WS API
    implementation 'jakarta.xml.ws:jakarta.xml.ws-api:4.0.0'
    // JAX-WS Runtime
    implementation 'com.sun.xml.ws:jaxws-rt:4.0.0'
    // JAXB API(JDK 17已移除,需单独引入)
    implementation 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.0'
    // JAXB Runtime
    implementation 'com.sun.xml.bind:jaxb-impl:4.0.0'
    // JAXB 核心模块与激活API
    implementation 'com.sun.xml.bind:jaxb-core:4.0.0'
    implementation 'jakarta.activation:jakarta.activation-api:2.1.0'
}

// 创建生成WSDL Stub的Gradle任务
task generateJaxwsStub(type: AntTask) {
    // 指定WSDL文件路径,替换为你的实际路径(支持单个文件或目录)
    def wsdlFile = file('src/main/resources/your-service.wsdl')
    
    // 配置Ant的jaxwsimport任务
    ant.jaxwsimport(
        wsdl: wsdlFile.absolutePath,
        destdir: 'build/generated/jaxws',
        package: 'com.yourcompany.yourservice', // 替换为你要生成的包名
        keep: true, // 保留生成的Java文件
        verbose: true
    ) {
        // 引入依赖类路径,确保Ant任务能找到JAX-WS相关类
        classpath {
            pathElement(location: configurations.compileClasspath.asPath)
        }
    }
}

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

// 清理时删除生成的目录
clean.doLast {
    delete file('build/generated/jaxws')
}

关键配置说明

  • 依赖版本:选用jakarta.xml.ws和com.sun.xml.ws的4.x版本,完全兼容JDK 17,解决旧版本依赖与JDK 17的模块冲突问题。
  • 生成目录:指定build/generated/jaxws作为输出目录,并将其加入源集,确保编译时能识别生成的类。
  • 任务关联:通过compileJava.dependsOn确保Stub生成在编译前完成,避免编译错误。
  • WSDL路径:替换src/main/resources/your-service.wsdl为你的实际WSDL文件路径,若有多个WSDL,可改为目录路径并配置wsdlDirectory参数。

使用时只需替换WSDL路径和包名,执行./gradlew generateJaxwsStub即可生成Stub,或直接执行./gradlew build自动完成生成+编译流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 12:57:55