首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gradle Kotlin DSL与wsdl2java

Gradle Kotlin DSL与wsdl2java
EN

Stack Overflow用户
提问于 2019-04-26 17:22:00
回答 1查看 745关注 0票数 2

从Groovy迁移到Kotlin,偶然发现了一个关于wsdl2java生成的简单问题。

问题很简单,谁有好的例子。Google在Kotlin DSL方面并不是很有帮助,在语法方面也不是很好。

也使用OpenJDK11。

代码语言:javascript
复制
plugins {
  id("no.nils.wsdl2java") version "0.10"
}


wsdl2java {
  enabled = true
  wsdlsToGenerate = [
    [
      "-xjc",
      "-p", "bla.bla.generated",
      "-wsdlLocation", "classpath:wsdl/v1.wsdl",
      "-autoNameResolution", "$projectDir/src/main/resources/wsdl/v1.wsdl"
    ],
    [
      "-xjc",
      "-p", "bla.bla.generated",
      "-wsdlLocation", "classpath:wsdl/v2.wsdl",
      "-autoNameResolution", "$projectDir/src/main/resources/wsdl/v2.wsdl"
    ]]
  generatedWsdlDir = file("$projectDir/src/main/java")
  wsdlDir = file("$projectDir/src/main/resources/wsdl")
}

dependencies {

  implementation(project(":common"))
  implementation(project(":etcd"))

  implementation("org.springframework.boot:spring-boot-starter-actuator")
  implementation("org.springframework.boot:spring-boot-starter-data-jpa")
  implementation("org.springframework.boot:spring-boot-starter-hateoas")
  implementation("org.springframework.boot:spring-boot-starter-quartz")
  implementation("org.springframework.boot:spring-boot-starter-security")
  implementation("org.springframework.boot:spring-boot-starter-validation")
  implementation("org.springframework.boot:spring-boot-starter-web")
  implementation("org.springframework.boot:spring-boot-starter-web-services")

  api("no.nils:wsdl2java")

  compileOnly("org.projectlombok:lombok")
  testImplementation("org.springframework.boot:spring-boot-starter-test")
  testImplementation("org.springframework.security:spring-security-test")
}

tasks.jar {
  archiveFileName.set("ext.jar")
}
EN

回答 1

Stack Overflow用户

发布于 2020-01-09 21:35:00

我让wsdl2java通过试验和错误来工作,如下所示:

代码语言:javascript
复制
plugins {
    id("no.nils.wsdl2java") version "0.10"
}

wsdl2javaExt {
    cxfVersion = "3.3.0"
    deleteGeneratedSourcesOnClean = true
}

tasks.withType<no.nils.wsdl2java.Wsdl2JavaTask> {
    // The use of ArrayList(listOf) is necessary as the Wsdl2JavaTask seems to make inline changes to its arguments
    wsdlsToGenerate = listOf(
            ArrayList(listOf("-p", "dk.grydholt.integration.sacho",
                    "-autoNameResolution", "-xjc-npa",
                    "-wsdlLocation", "classpath:wsdl/sacho/EduModelService.wsdl",
                    "$projectDir/src/main/resources/wsdl/sacho/EduModelService.wsdl")))

    generatedWsdlDir = file("$projectDir/src/generated/java")
    wsdlDir = file("$projectDir/src/main/resources/wsdl/sacho")
}

sourceSets {
    create("generated") {
        java.srcDirs(listOf("src/generated/java"))
    }
}

注意ArrayList的用法。我花了一些时间来调试,因为如果你使用listOf(listOf("...")),你会得到奇怪的类型错误。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55864514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档