包含 jars 的 java Jar => java.lang.NoClassDefFoundError -> 如何包含 .jar 文件

标签 java jar

jar 文件

enter image description here

当我运行 java -jar main.jar 时,出现以下错误: enter image description here

.jar 文件 second.jar 的主类是其中的几个库之一,无法访问。

我无法重建项目,因为我只有 main.jar 文件。

如何编写一个 run.bat 文件或 mainifest.mf 文件来存储 main.jar 中包含的所有 .jar 文件code> 文件可访问。

这是 main.jar 中的 mainifest.mf 文件:

enter image description here

最佳答案

有以下可能的选项供您解决。

  1. 在 Manifest.MF 中添加所有必需的 jar 文件,如下所示。
Manifest-Version: 1.0
Main-Class: com.comapany.product.MainClass
Class-Path: a.jar b.jar c.jar
  • 您可以使用以下命令手动运行
  • java -cp a.jar;b.jar;c.jar com.comapany.product.MainClass

  • 强烈建议使用 Maven Shade 插件(如果是 Maven)或 Shadow 插件(如果是 Gradle)创建一个 fat jar。
  • 关于包含 jars 的 java Jar => java.lang.NoClassDefFoundError -> 如何包含 .jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56219429/

    相关文章:

    java - 是否可以在不重写整个文件的情况下以编程方式更新 Jar 文件?

    java - Jackson 仍然提示缺少过滤器 ID/跳过缺少的过滤器

    android - 如何使用外部 jar

    groovy - 让 Groovy 脚本像葡萄一样从文件系统中抓取一个 jar

    java - 使用 GAE servlet 为 JavaWS 提供动态 JNLP 和 jar

    java - 在 Java Web 应用程序中从应用程序服务器外部提供静态数据的最简单方法

    java - 使用 hibernate 示例时没有插入行

    java - 为什么我的@RestController 中接收到的实体将值设置为 null 而不是默认值

    java - 从文件读取时,它会将一个项目两次添加到组合框中

    java - 错误: could not load or find main class xyz