首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根项目中找不到“fatjar”项目

根项目中找不到“fatjar”项目
EN

Stack Overflow用户
提问于 2022-01-27 02:40:58
回答 2查看 348关注 0票数 0

我正在跟踪 Ktor文档,但当我运行

./gradlew :fatjar:影子罐

在IntelliJ的终端上,就像它说的那样,我得到了以下错误:

失败:生成失败,出现异常。

  • 哪里出了问题:根项目“com.menucabinet.ktor-菜单-橱柜”中找不到“fatjar”项目。

我一直在四处寻找,但有关这个问题的文件似乎有限.

这是我的秤:

代码语言:javascript
复制
val ktor_version: String by project
val kotlin_version: String by project
val logback_version: String by project
val kmongo_version: String by project
val koin_version: String by project

plugins {
    application
    kotlin("jvm") version "1.6.10"
    id("org.jetbrains.kotlin.plugin.serialization") version "1.6.10"
    id("com.github.johnrengelman.shadow") version "7.0.0"

}

group = "menu_cabinet"
version = "0.0.1"
application {
    mainClass.set("io.ktor.server.netty.EngineMain")
    project.setProperty("mainClassName", mainClass.get())
}

repositories {
    mavenCentral()
}

tasks {
    shadowJar {
        manifest {
            attributes(Pair("Main-Class", "io.ktor.server.netty.EngineMain"))
        }
    }
}
    
dependencies {
    implementation("io.ktor:ktor-server-core:$ktor_version")
    implementation("io.ktor:ktor-websockets:$ktor_version")
    implementation("io.ktor:ktor-serialization:$ktor_version")
    implementation("io.ktor:ktor-server-sessions:$ktor_version")
    implementation("io.ktor:ktor-server-netty:$ktor_version")
    implementation("ch.qos.logback:logback-classic:$logback_version")
    testImplementation("io.ktor:ktor-server-tests:$ktor_version")
    testImplementation("org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version")

    // KMongo
    implementation("org.litote.kmongo:kmongo:$kmongo_version")
    implementation("org.litote.kmongo:kmongo-coroutine:$kmongo_version")

    // Koin core features
    implementation("io.insert-koin:koin-core:$koin_version")
    implementation("io.insert-koin:koin-ktor:$koin_version")
    implementation("io.insert-koin:koin-logger-slf4j:$koin_version")


}

我对Ktor和后端都是新手,我能做些什么来解决这个问题呢?

更新:

我发现如果我

  1. 将以下插件添加到gradle id("com.github.johnrengelman.shadow")版本"7.0.0“中
  2. 打开IntelliJ右上角的“分级”菜单,查找并选择“任务/阴影/阴影罐”
  3. 这将构建jar文件,并将其置于项目文件中的build /lib中。
  4. 然后,我可以使用java -jar theNameOftheGeneratedJarFile从计算机终端运行jar

因此,由于这是可行的,我相信我的问题与格莱德尔任务在Kotlin DSL,虽然我可能是错的。

EN

回答 2

Stack Overflow用户

发布于 2022-01-27 10:44:01

分级阴影插件主题使用法特贾尔示例作为示例。鉴于此示例是codeSnippets的一个子项目,创建一个胖JAR需要在shadowJar任务之前添加一个子项目名称:

代码语言:javascript
复制
./gradlew :fatjar:shadowJar 

对于独立项目,下面的命令如下所示:

代码语言:javascript
复制
./gradlew shadowJar
票数 1
EN

Stack Overflow用户

发布于 2022-02-05 17:23:01

对于独立的项目,从终端运行它应该在lib文件夹中构建jar文件,下面是一个工作样例https://github.com/hariinfo/ktor-learn/tree/main/ktor-exposed-demo

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

https://stackoverflow.com/questions/70872686

复制
相关文章

相似问题

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