`gradle jar` 似乎没有向 jar 文件添加依赖项

我想制作一个可执行文件,它将自动创建一个包含相关任务的 Google 任务列表。

不过,现在我正尝试使用 Google在此处提供的默认代码简单地创建一个可执行文件。添加credentials.json文件(如下所述)并gradle run在终端/cmd 中输入(在我提供的回购中)后,它将按预期工作。

但是,如果你运行gradle jar创建一个 jar,当你尝试运行这个 jar 时,你会得到这个错误:

java.lang.NoClassDefFoundError:com/google/api/client/json/JsonFactory


如何重现

  1. 克隆这个仓库

  2. 单击此页面上的“启用 GOOGLE TASKS API”,下载并替换credentials.json位于 中的文件。./src/main/resources/

    • 如果您想确认该程序是否正常工作,请将您的终端/cmd 设置为项目的根目录并输入gradle run

  3. 在项目的根目录中,输入grade jar./src/build/libs/这将在文件夹中创建一个 jar

  4. ./src/build/libs/文件夹内,运行java -jar demo-1.0.jar

此时,你会得到上面提到的错误。


MMTTMM
浏览 113回答 1
1回答

萧十郎

您似乎想要所谓的“超级”jar(一个还包含其依赖项的 jar)你可以这样做jar {    from configurations.runtime.collect { zipTree(it) }  }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java