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

Gradle的Kotlin DSL脚本无法启动Quarkus应用程序

许彭祖
2023-03-14

我正在(尝试)将Gradle脚本(用Groovy编写)迁移,我在(工作)Quarkus1.1.0.最终概念验证项目中拥有这些脚本到Kotlin DSL中,但不知何故,在迁移脚本之后,应用程序不再启动。同样,该项目与Groovy Gradle脚本配合良好,所以我不知道我可能错过了什么。

这是我在<code>gradle中到目前为止的内容。属性,settings.gradle。kts,和build.gradle.kts:

#
# Dependency Versions
kotlin.version = 1.3.61
quarkus.version = 1.1.0.Final

#
# Gradle Settings
org.gradle.configureondemand = false
org.gradle.daemon = false

#
# System Settings
systemProp.file.encoding = UTF-8
systemProp.sun.jnu.encoding = UTF-8
pluginManagement {
  repositories {
    // mavenLocal() // Uncomment when needed
    gradlePluginPortal()
    mavenCentral()

    maven(url = uri("https://dl.bintray.com/gradle/gradle-plugins/"))
  }

  plugins {
    id("com.commercehub.gradle.plugin.avro").version("0.17.0")
    id("eclipse")
    id("idea")
    id("io.gitlab.arturbosch.detekt").version("1.3.0")
    id("io.quarkus").version("1.1.0.Final") // TODO: Read from gradle.properties
    id("org.jetbrains.kotlin.jvm").version("1.3.61") // TODO: Read from gradle.properties
    id("org.jetbrains.kotlin.plugin.allopen").version("1.3.61") // TODO: Read from gradle.properties
  }
}

rootProject.name = "kotlin-quarkus-kafka"
import io.gitlab.arturbosch.detekt.extensions.DetektExtension
import io.quarkus.gradle.QuarkusPluginExtension
import io.quarkus.gradle.tasks.QuarkusNative
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
import org.jetbrains.kotlin.allopen.gradle.AllOpenExtension
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

import java.time.ZoneOffset
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter

plugins {
  // id("com.commercehub.gradle.plugin.avro")
  id("eclipse")
  id("idea")
  id("io.gitlab.arturbosch.detekt")
  id("io.quarkus")
  id("org.jetbrains.kotlin.jvm")
  id("org.jetbrains.kotlin.plugin.allopen")
}

group = "org.acme"

repositories {
  // mavenLocal() // Uncomment when needed
  jcenter()
}

dependencies {
  implementation(enforcedPlatform("io.quarkus:quarkus-bom:${project.property("quarkus.version")}"))

  implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
  implementation("io.github.microutils:kotlin-logging:1.5.9")
  implementation("io.quarkus:quarkus-config-yaml")
  implementation("io.quarkus:quarkus-kotlin")
  implementation("io.quarkus:quarkus-resteasy-jackson")
  implementation("io.quarkus:quarkus-smallrye-health")
  implementation("io.quarkus:quarkus-smallrye-openapi")
  implementation("io.quarkus:quarkus-smallrye-reactive-messaging-kafka")
  implementation("org.apache.commons:commons-lang3")
  implementation("org.jetbrains.kotlin:kotlin-stdlib")

  // nativeTestImplementation("io.quarkus:quarkus-junit5")
  // nativeTestImplementation("io.rest-assured:rest-assured")

  testImplementation("io.quarkus:quarkus-junit5")
  testImplementation("io.rest-assured:rest-assured")
  testImplementation("org.assertj:assertj-core")
}

//=================================================================================================
//  P L U G I N S
//=================================================================================================

configure<AllOpenExtension> {
  annotation("io.quarkus.test.junit.QuarkusTest")
  annotation("javax.enterprise.context.ApplicationScoped")
  annotation("javax.inject.Singleton")
  annotation("javax.ws.rs.Path")
}

// configure<DefaultAvroExtension> {
//   // TODO: Specify location for schema files
//   isCreateSetters = false
//   setFieldVisibility(FieldVisibility.PRIVATE)
// }

configure<DetektExtension> {
  // ...
}

configure<QuarkusPluginExtension> {
  // ...
}

//=================================================================================================
//  T A S K S
//=================================================================================================

tasks {
  withType<KotlinCompile> {
    kotlinOptions {
      jvmTarget = "${JavaVersion.VERSION_1_8}"
    }
  }

  withType<QuarkusNative> {
    // "-H:ReflectionConfigurationFiles=reflection-config.json"
    // "-H:ResourceConfigurationFiles=resources-config.json"
    additionalBuildArgs = listOf()
  }

  withType<Test> {
    // exclude("**/Native*")
    systemProperty("java.util.logging.manager", "org.jboss.logmanager.LogManager")
    testLogging {
      events = setOf(TestLogEvent.FAILED, TestLogEvent.SKIPPED)
      exceptionFormat = TestExceptionFormat.FULL
      showCauses = true
      showExceptions = true
      showStackTraces = true
    }
    useJUnitPlatform()
  }
}

…这是我得到的错误:

[x80486@uplink kotlin-quarkus-kafka]$ ./gradlew clean quarkusDev
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/6.0.1/userguide/gradle_daemon.html.
Daemon will be stopped at the end of the build stopping after processing

> Task :clean
> Task :compileKotlin
> Task :compileJava NO-SOURCE
> Task :processResources
> Task :classes
> Task :quarkusDev FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Some problems were found with the configuration of task ':quarkusDev' (type 'QuarkusDev').
> Directory 'C:\Users\x80486\Workshop\kotlin-quarkus-kafka\build\classes\java\main;C:\Users\x80486\Workshop\kotlin-quarkus-kafka\build\classes\kotlin\main' specified for property 'workingDir' does not exist.
> Directory 'C:\Users\x80486\Workshop\kotlin-quarkus-kafka\src\main\java;C:\Users\x80486\Workshop\kotlin-quarkus-kafka\build\generated-main-avro-java;C:\Users\x80486\Workshop\kotlin-quarkus-kafka\src\main\kotlin' specified for property 'sourceDir' does not exist.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 2s
4 actionable tasks: 4 executed

共有1个答案

越源
2023-03-14

看起来您遇到了与乔治在这里修复的问题之一非常相似的问题:https://github.com/quarkusio/quarkus/pull/6317。特别是这个promise:https://github.com/quarkusio/quarkus/pull/6317/commits/7b07d866e5b81b46c09d59a08556b9a796c11007。

虽然不完全确定这是同一个错误。也不完全确定,修复对你来说是正确的。尤其是如果你混合了Java和静态编程语言类。

你能创建一个简单的复制器并在GitHub上打开一个问题吗?然后我们将能够检查它是否已经解决或需要更多的爱。

 类似资料:
  • 同时使用redux与反应。我试图在安装react-redux和redux库后,为我的应用程序(reactwiseldux)进行npm启动。我在下面看到这个错误。我自己也在想办法,但目前还没找到。请帮帮我。 “反应脚本”不被识别为内部或外部命令、可操作程序或批处理文件。npm错误!代码ELIFECYCLE npm ERR!错误1 npm错误!reactwithredux@0.1.0开始:npm ER

  • 我有一个quarkus应用程序,当我用下面的命令构建应用程序时,进程第一次开始完美地编译quarkus:dev-DskipTests=true 成功启动的日志: 但是当我停下来重新开始这个过程时,过程并没有开始... 启动失败的日志: 当我尝试重新启动机器,然后启动quarkus服务时,它会再次工作。 pom。xml: 如果有人遇到过类似的行为,请告诉我,这可能是什么根源。

  • 我已经在tomcat服务器上安装了应用程序。在启动和加载应用程序的过程中,我有以下堆栈跟踪的错误。如何解决这个问题? apache-tomcat-7.0.47/webapps/petclinic 2016年10月27日下午12:14:36 org。阿帕奇。卡塔琳娜。果心标准上下文起始内部 严重:ServletContainerInitializer处理javax时出错。servlet。Servle

  • 首先,我在删除后下载了lquidbounce的源代码。gradle和我发布了代码信息,希望你们能帮我

  • 尝试通过Intellij IEDA运行Appium服务器时发生以下错误: 错误:无法启动应用程序会话,错误是:错误:命令失败:C:\WINDOWS\system32\cmd。exe/s/c“c:\Android\sdk\platform tools\adb.exe-s emulator-5554安装”c:\Program Files(x86)\Appium\node\u modules\Appiu