gpt4 book ai didi

java - 执行gradle构建的JAR时出现简单的Json ClassNotFoundException

转载 作者:行者123 更新时间:2023-12-02 09:27:16 25 4
gpt4 key购买 nike

我最近开发了一个简单的 JavaFX 游戏,它使用 Simple Json。依赖项已在 Gradle 依赖项中定义,游戏可以使用 Gradle run 命令正常运行。但是,当我使用 - Gradle Jar 创建 jar 文件并运行 时,会显示以下错误:

Caused by: java.lang.ClassNotFoundException: org.json.simple.parser.ParseException

enter image description here

这是我的 build.gradle 文件的图片:

enter image description here

我该如何解决这个问题?

最佳答案

这是默认的包行为。 Gradle 和 Maven 等工具的打包阶段仅复制应用程序源(src 目录中的 Java 类和资源),而不包含依赖项中的文件。

因此默认生成的jar文件没有依赖类或资源。

有很多解决方案可以从带有依赖项的 jar 文件运行 java 程序:

  1. 将应用程序 jar 以及依赖项 jar 放在目录 (lib) 中,并在运行主类时将其添加到类路径中。
java -cp lib/*.jar  com.game.MainClass
  • 创建一个胖( super ) jar 。 Gradle 插件如 Shadow可以生成一个包含所有依赖项的 jar。只需在Manifest中指定主类即可。
  • java -jar myAppFat.jar
  • 使用类似 Launch4J 的插件生成 Windows 可执行文件。如果您想向用户提供简单的“点击运行”应用程序,这非常有用。
  • 关于java - 执行gradle构建的JAR时出现简单的Json ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58263943/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com