我可以成功地使用
编译胖JAR,但是在最近从“compile”依赖规范切换到“implementation/api”规范之后,在运行JAR时遇到了问题。我发现问题只发生在以下两种情况中的一种。应用程序在IntelliJ中运行。
第一个/问题:
dependencies {implementation 'no.tornado:tornadofx:1.7.18'}
二次/工程:
dependencies {compile'no.tornado:tornadofx:1.7.18'}
JAR在这两种情况下都可以编译。当我试图在命令行上启动第一个case JAR时,问题出现了,它抛出了以下错误。
C:\aaa\u eric\code\testr\mic\build\libs>java-jar麦克风-1.0-snapshot.jar
错误:无法找到或加载主类app.MyApp
原因:java.lang.NoClassDefFoundError:tornadofx/App
下面是build.gradle中的JAR任务。tornadofx依赖关系是否可能在编译时可用,但在运行时不可用?谢谢你的帮助。
jar {
manifest {
attributes 'Main-Class': 'app.MyApp'
}
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}