运行从基于 gradle 的项目构建的可执行 jar 文件

新手上路,请多包涵

我有一个基于 gradle 的独立项目。当我做 gradle build 时,jar 是在 build/libs 下生成的。如何从命令行运行这个可执行 jar?我试过: java -cp build/libs/foo.jar full.package.classname 但是对于导入的类,我得到了 noClassFoundException。如何将依赖 jar 作为类路径的一部分包含在内?

原文由 coder 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 405
1 个回答

由于问题标有 gradle 标签,我假设您想从 gradle build 运行 jar。我还假设您使用 java 插件来构建您的 gradle。

在你的 gradle 中添加下一行:

 task runFinalJar(type: JavaExec) {
   classpath = files('build/libs/foo.jar')
   classpath += sourceSets.main.runtimeClasspath
   main = full.package.classname
}

您现在可以将您的任务包含到构建过程中:

 build.dependsOn.add("runFinalJar")

或者只是从命令行运行它:

 gradle build runFinalJar

更新按照彼得的建议 使用应用程序插件更干净

原文由 Eugen Martynov 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题