当前位置: 首页 > 知识库问答 >
问题:

如何将gradle ant java任务转换为kotlin

叶书
2023-03-14

我有一个启动H2数据库的gradle ant任务。构建脚本如下所示:

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    runtime 'com.h2database:h2:1.3.168'
}

task startH2Db {
    group = 'database'
    description='Starts the H2 TCP database server on port 9092 and web admin on port 8082'
    doLast{
        ant.java( fork:true, spawn:true, classname:'org.h2.tools.Server', dir:projectDir){
            arg(value: "-tcp")
            arg(value: "-web")
            arg(value: "-tcpPort")
            arg(value: "9092")
            arg(value: "-webPort")
            arg(value: "8082")
            arg(value: "-webAllowOthers")
            classpath {
                pathelement(path:"${sourceSets.main.runtimeClasspath.asPath}")
            }
        }
    }
}
plugins {
    java
}

repositories {
    mavenCentral()
}

dependencies {
    runtime ("com.h2database:h2:1.3.168")
}

tasks {
    register("startH2Database") {
        group = "database"
        description = "Starts the H2 TCP database server on port 9092 and web admin on port 8082"
        doLast {
            ant.withGroovyBuilder {
            "java"("fork" to true, "spawn" to true, "classname" to "org.h2.tools.Server", "dir" to projectDir)
            }
        }
    }
}

共有1个答案

钱朝明
2023-03-14

您可以在Gradle Kotlin DSL存储库中查看更多示例,例如https://github.com/Gradle/kotlin-dsl/blob/master/samples/ant/build.Gradle.kts

所以你的蚂蚁叫声可能看起来像

ant.withGroovyBuilder {
  "java"( 
     "fork" to true, 
     "spawn" to true, 
     "classname" to "org.h2.tools.Server", 
     "dir" to projectDir
   ){
      "arg"("value" to "-tcp")
      "arg"("value" to "-web")
      "arg"("value" to "-tcpPort")
      "arg"("value" to "9092")
      "arg"("value" to "-webPort")
      "arg"("value" to "8082")
      "arg"("value" to "-webAllowOthers")
      "classpath" {
        "pathelement"(
                "path" to configurations["runtime"].asPath
            )
      }
   }
}
 类似资料:
  • 我试图将Groovy中的build.gradle文件转换成kotlin。kts文件,我在gradle文件中有一些我不知道如何正确转换的任务 我不太明白如何使用“类型”,我正在沿着这条路走下去 但它给了我一个错误 类型'DomainObjectCollection 如何正确地将这些Groovy任务转换为kotlin任务?

  • 我有代码,工作完全按要求。但是,我们的企业构建服务器拒绝任何带有编译器警告的签入。 由于我没有使用await语句,因此(如预期的那样)对于带有操作to Func转换的操作构造函数显示了以下警告。 更新-建议答案#1 _operation=()=>new Task(operation.invoke); _rollback=()=>new Task(rollback.invoke); 更新-接受的答案

  • 问题内容: 我在mySQL 5.1中有一个数据类型的日期列。如何将其转换为DATE? 这是我到目前为止所拥有的- 得到这个 错误-#1064-您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’FROM 7 FOR 4附近使用) 请帮忙。 问题答案: 您可以使用MySQL的功能 尽管我怀疑您使用Unix时间戳会更轻松

  • 问题内容: 有没有一种简单的方法可以避免处理文本编码问题? 问题答案: 您确实无法避免处理文本编码问题,但是Apache Commons中已有一些解决方案: 至: 至: 您只需要选择所需的编码即可。

  • 下面的方法调用RetrieveRecords方法,该方法是异步的,返回类型为Task<>。调用方法接受datatype作为DataView。现在我得到一个错误“不能从System.Data.DataView转换到System.Task.DataView。我知道这个错误是由于类型转换不匹配造成的。我如何将任务<>转换到DataView。这对我来说是非常必要的。我做了很多研究,但没有找到解决方案。 返

  • 问题内容: 如何使用Java将Dicom文件(.dcm)转换为jpeg图像?这是我的代码: 我在运行项目时遇到以下错误 请帮助并提前感谢 问题答案: 这是使用dcm4che 2将DICOM转换为JPEG的链接 以下是我的代码,效果很好,我将其与导入一起放置,因此可能用完了。 用于运行它的罐子 dcm4che-imageio-2.0.28.jar dcm4che-image-2.0.28.jar j