gpt4 book ai didi

gradle - 由于pom依赖性,无法创建我的JDA项目的JAR

转载 作者:行者123 更新时间:2023-12-02 13:08:54 24 4
gpt4 key购买 nike

我有一个带有JDA API的Kotlin项目,需要在Heroku环境中进行部署。为此,我在build.gradle文件中创建了一个JAR任务。

jar {
baseName = 'discord-stats-bot'
version = 'v1'
manifest {
attributes('Main-Class': 'com.vchernogorov.discordbot.BotKt')
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}

但是由于以下错误,我无法构建此JAR文件。
16:02:03 vchernogorov $ ./gradlew jar
:kaptGenerateStubsKotlin UP-TO-DATE
:kaptKotlin UP-TO-DATE
:compileKotlin UP-TO-DATE
:compileJava UP-TO-DATE
:copyMainKotlinClasses UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:inspectClassesForKotlinIC UP-TO-DATE
:jar

FAILURE: Build failed with an exception.

* What went wrong:
Could not expand ZIP '/Users/vchernogorov/.gradle/caches/modules-2/files-2.1/club.minnced/opus-java/1.0.4/596995aaf2f5b5091c4d251fdc11fa62680cc59e/opus-java-1.0.4.pom'.
> archive is not a ZIP archive

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

BUILD FAILED

Total time: 6.784 secs

该库是JDA项目中的依赖项。因此,我需要有关配置此 jar任务的帮助,以便正确构建我的可执行文件并将其部署到Heroku。

编辑:这是我在 dependencies中的 build.gradle块。
dependencies {
compile 'com.google.guava:guava:23.0'
compile "org.jetbrains.kotlinx:kotlinx-coroutines-core:0.16"
compile "org.jsoup:jsoup:1.10.3"
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "net.dv8tion:JDA:3.8.0_436"
compile "khttp:khttp:0.1.0"
compile 'com.google.code.gson:gson:2.8.1'
}

最佳答案

在Maven中,有一个pom类型的special Artifact 。它也作为依赖项发布和下载。在jar的from中既不是目录也不是jar文件,这就是处理失败的原因。要解决它,您需要在收集之前排除*.pom,因此:

from {
configurations
.compile
.findAll { !it.name.endsWith('pom') }
.collect { it.isDirectory() ? it : zipTree(it) }
}

下次您可以使用gradle shadow插件或类似工具-构建uber jar的插件,因为它可能正确处理了它。

关于gradle - 由于pom依赖性,无法创建我的JDA项目的JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52816630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com