运行从基于 gradle 的项目构建的可执行 jar 文件
我有一个基于gradle的独立项目。当我进行 gradle 构建时,jar 是在 build/libs 下生成的。如何从命令行运行此可执行jar?我试过了:但是对于导入的类,我没有得到任何ClassFoundException。如何将依赖 jar 作为类路径的一部分?java -cp build/libs/foo.jar full.package.classname
我有一个基于gradle的独立项目。当我进行 gradle 构建时,jar 是在 build/libs 下生成的。如何从命令行运行此可执行jar?我试过了:但是对于导入的类,我没有得到任何ClassFoundException。如何将依赖 jar 作为类路径的一部分?java -cp build/libs/foo.jar full.package.classname
由于问题用 gradle 标签标记,我假设你想从 gradle 构建运行 jar。我还假设您在gradle构建中使用插件。java
在渐变中添加下一行:
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
更新:像彼得建议的那样使用应用程序插件更干净
添加一个简单的任务来运行 jar
task runJar(type: JavaExec) {
main = "-jar";
args jar.archivePath
}
更新:现已弃用,您可以使用jar.archivePath
jar.archiveFile.get()
task runJar(type: JavaExec) {
main = "-jar";
args jar.archiveFile.get()
}