【发布时间】:2019-12-01 18:39:18
【问题描述】:
我最近从旧的 1.2 多平台切换到 1.3。不同之处在于,每个多平台模块只有一个 build.gradle 文件(我有 5 个),因此配置要少得多。 但是,我似乎无法配置创建具有来自 jvm 平台的所有依赖项的可运行胖 jar。 我曾经在我的 jvm 项目和 jar 任务中使用标准的“应用程序”插件,但这不再起作用了。我发现有“jvmJar”任务并对其进行了修改(设置 Main-class),但创建的 jar 不包含依赖项并在 ClassNotFoundException 上崩溃。我该怎么做?
这就是我现在拥有的:
jvm() {
jvmJar {
manifest {
attributes 'Main-Class': 'eu.xx.Runner'
}
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}
}
【问题讨论】:
-
也许ShadowJar 会帮助你?
-
是的,可能。仍然不确定如何处理它。
-
"每个多平台模块只有一个 build.gradle 文件" 你有这个来源吗?文档很糟糕,因为我怀疑您会同意,而且我从未听说过这样的事情是可能的。
标签: kotlin jar kotlin-multiplatform fatjar