带有Gradle和Scala的Shadow Fat Jar

时间:2018-12-10 12:22:17

标签: java scala gradle jar uberjar

我正在与Scala一起通过Gatling构建负载测试。我使用了3个Gradle插件:

  • Gatling:创建一个名为gatling的sourceSet并帮助构建所有Gatling内容。
  • Shadow:创建胖罐子。

我创建了一个自定义Gradle任务来构建一个我想独立运行的jar:

import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
task gatlingJar(type: ShadowJar, dependsOn: 'gatlingClasses') {
    classifier = 'gatling'
    manifest.attributes 'Main-Class': 'loadtests.Main'
    from sourceSets.gatling.output
    configurations = [project.configurations.gatlingRuntime]
}

该任务的灵感来自this文档。

运行该任务成功,并创建一个约44MB的Jar。如果我解压缩了我的.class文件,但是如果我运行jar执行java -jar tests.jar,则好像找不到我的班级:

Error: Could not find or load main class loadtests.Main

解压缩Jar并运行java -cp . loadtests.Main即可。

我在这里想念什么?预先感谢。

0 个答案:

没有答案