运行基于gradle的项目构建的可执行jar文件 [英] Running an executable jar file built from a gradle based project

查看:268
本文介绍了运行基于gradle的项目构建的可执行jar文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个基于gradle的独立项目。当我进行gradle构建时,jar会在build / libs下生成。我如何从命令行运行这个可执行的jar文件?我试过了: java -cp build / libs / foo.jar full.package.classname 但是我得到了导入的类的noClassFoundException。

解决方案

由于问题是用gradle标记标记的,我假设你想运行jar从gradle构建。我还假设你为你的gradle构建使用 java 插件。



添加gradle中的下一行:

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

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

  build.dependsOn.add(runFinalJar)

或者直接运行命令行:

 gradle build runFinalJar 

更新正如彼得所建议的那样,使用应用程序插件更为清洁

I have a standalone project which is gradle based. When I do gradle build, the jar is generated under build/libs. How do I run this executable jar from command line? I tried : java -cp build/libs/foo.jar full.package.classname but I get noClassFoundException for the classes that were imported. How do I include dependent jars as part of classpath?

解决方案

Since question is marked with gradle tag I assume you want to run jar from gradle build. I also assume you use java plugin for your gradle build.

Add next lines in your gradle:

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

You can now include your task to the build process:

build.dependsOn.add("runFinalJar")

Or just run it form command line:

gradle build runFinalJar

UPDATE It is cleaner to use application plugin as Peter suggested

这篇关于运行基于gradle的项目构建的可执行jar文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆