gpt4 book ai didi

java - 尽管 list 中有类路径,但仍未找到类

转载 作者:搜寻专家 更新时间:2023-11-01 03:27:30 25 4
gpt4 key购买 nike

我有这个 jar :

/mybundle.jar/
de/mybundle/myclass.class
lib/mysql.jar
META-INF/MANIFEST.MF

有了下面的 MANIFEST.MF

Manifest-Version: 1.0
Class-Path: lib/mysql.jar
Main-Class: de.mybundle.myclass

这对我来说似乎完全正确,但是当我运行时

java -jar mybundle.jar

当类尝试实例化 MySQL-Library 类之一时,我得到一个 NoClassDefFoundException。

我做错了什么?

最佳答案

您不能将 jar 文件捆绑在其他 jar 文件中。 list 中指定的路径是相对于您正在调用的 jar 文件的位置的,因此在您的情况下是相对于 mybundle.jar 的位置。

你有两个选择:

  1. 要么将 MySQL jar 放在 mybundle.jar 之外的 lib 目录中。
  2. 创建一个 fat jar,其中包含所需 jar 文件中的所有类以及您自己的类。这可以从 Eclipse 中获得或 Maven .

关于java - 尽管 list 中有类路径,但仍未找到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9684737/

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