我有一个基于 gradle 的独立项目。当我做 gradle build 时,jar 是在 build/libs 下生成的。如何从命令行运行这个可执行 jar?我试过:java -cp build/libs/foo.jar full.package.classname
但是对于导入的类我得到了 noClassFoundException。如何将依赖 jar 作为类路径的一部分包含在内?
最佳答案
由于问题标有 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
更新:使用应用程序插件更干净 as Peter suggested
关于java - 运行从基于 gradle 的项目构建的可执行 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20728621/