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

标签 java jar gradle

我有一个基于 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/

相关文章:

java - 变压器脱离 CR

java - jdbcTemplate 为 null 并抛出空指针异常

Android Gradle 应用程序和库 jar 冲突

android - Gradle(Android Studio)不会生成jar文件

java - 从本地磁盘添加 Maven 存储库

spring-boot - 类 com.fasterxml.jackson.dataformat.xml.XmlMapper 正在从多个位置加载

java - 如何在 Java 中读取/获取表情符号的 unicode 值

java - 什么是通用区域设置数据存储库 (CLDR) - JDK 9

java - 如何导出具有外部 Jar 依赖项的 Eclipse 项目?

java - react native : How to fix version issue in Gradle