我最近从旧的 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) } }
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用带有js / jvm子项目的kotlin多平台项目。我曾经在jvm子项目中进行过单元测试(使用kotlin测试注释进行了注释),并且我使用右键单击+使用junit运行“ xxx”测试来轻松运行测试。一旦将这些测试移到通用模块上,该选项就不可能了。
我仍然可以使用命令行gradle来运行测试,甚至设法创建了有效的运行配置,但是为了方便起见,我缺少类或特定测试方法上的简单“右键单击即可运行”。
有什么方法可以在项目中实现?
谢谢!