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

如何为Kotlin(Gradle)版本导入ShadowJar插件?

仲孙才捷
2023-03-14

生成失败:

thufir@dur:~/NetBeansProjects/kotlin_dsl$ 
thufir@dur:~/NetBeansProjects/kotlin_dsl$ gradle clean run 

> Configure project : 
e: /home/thufir/NetBeansProjects/kotlin_dsl/build.gradle.kts:4:12: Unresolved reference: github


FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'kotlin_dsl'.
> Could not open cache directory 74ykawxta6db3b2bfk9grjikp (/home/thufir/.gradle/caches/4.3.1/gradle-kotlin-dsl/74ykawxta6db3b2bfk9grjikp).
   > Internal error: unable to compile script, see log for details

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

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

BUILD FAILED in 1s
thufir@dur:~/NetBeansProjects/kotlin_dsl$ 

有问题的进口陈述:

thufir@dur:~/NetBeansProjects/kotlin_dsl$ 
thufir@dur:~/NetBeansProjects/kotlin_dsl$ cat build.gradle.kts 

import org.gradle.api.JavaVersion
import org.gradle.kotlin.dsl.*
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar


plugins {
    application
    kotlin("jvm") version "1.1.51"
}

application {
    mainClassName = "samples.HelloWorldKt"
}

dependencies {
    compile(kotlin("stdlib"))
}

repositories {
    jcenter()
}


thufir@dur:~/NetBeansProjects/kotlin_dsl$ 

如前所述,删除影子导入将提供一个干净的构建和运行。如何使影子插件JAR可供Kotlin导入?

Gradle本身使用DSL创建了Shadow JAR。

从不同的角度来看:

Kotlin 遇见 Gradle: gradle.build.kt with ShadowJar

使用工作构建文件。

共有1个答案

姜鸿畴
2023-03-14

像这样:

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar

plugins {
    kotlin("jvm") version "1.5.21"
    id("com.github.johnrengelman.shadow") version "7.0.0"
}

group = "xxx.yyy"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

dependencies {
    implementation(kotlin("stdlib-jdk8"))
}

tasks.withType<KotlinCompile> {
    kotlinOptions.jvmTarget = "11"
}

tasks.withType<ShadowJar> {
    archiveFileName.set("app.jar")
}
 类似资料:
  • 我正在尝试运行我的项目,它运行没有任何问题,但在我更新Android Studio后…我有一个错误,我不知道我使用了哪个android studio版本之前,更新降级到它。 Android Gradle插件只支持Kotlin Gradle插件1.3.0及更高版本。以下依赖项不满足所需版本:项目':assets_audio_player'->org.jetbrains.kotlin:kotlin-g

  • 我尝试使用ShadowJar gradle插件将我的ktor应用程序打包到胖罐子中。但由于任务,我每次都得到几乎空的jar。它只包含清单(正确设置了主类)。 渐变配置(groovy):

  • > 错误:Android Gradle插件只支持Kotlin Gradle插件1.3.10及更高版本。以下依赖项不满足所需版本:项目':DrawerBehavior'->org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.71 flutter{source“../..”} }

  • 我想外部化插件版本。 我试过了 但是我得到了一个未解析的引用:DependencyVersions

  • 我正在尝试建立一个基本的Gradle项目。我的构建。gradle文件如下。我一直得到下面的错误。我不明白,因为你可以在这里找到插件。。。我想我的目标是:https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-gradle-plugin 更新:如果我注释掉Kotlin行,Spring Boot插件也会发生同样的事情。这不仅仅针对K

  • 我尝试使用Kotlin脚本将我的一个项目迁移到Gradle。 以下是我的步骤: 用这个替换 将gradle/包装器/gradle-wrapper.properties的更新为与此处相同 创建了相应的 设置到 此时Intellij检测到它并建议: 您可以将Gradle包装器配置为对源使用分发。它将为IDE提供Gradle API/DSL留档。 - gradle'hello-kotlin'项目刷新失败