gpt4 book ai didi

java - 即使类路径中存在所需的类,也会引发 NoClassDefFoundError

转载 作者:行者123 更新时间:2023-12-01 23:10:38 27 4
gpt4 key购买 nike

尝试运行 jar 程序并出现找不到类错误。

如图所示,我将所有依赖的jar都打包到了lib文件夹下,并打包到了jar文件中。 enter image description here

lib目录的内容:

enter image description here

在我的manifest.mf文件中我有

Manifest-Version: 1.0
Class-Path: .\lib\arapi63.jar;.\lib\spring.jar;.\lib\commons-logging.j
ar;.\lib\log4j.jar;..\conf;.\lib\ojdbc14.jar
Created-By: 1.5.0_12 (Sun Microsystems Inc.)
Main-Class: RemedyRecord

当我尝试使用

运行这个 jar 时
    java -jar remedyDSTX.jar 
Exception in thread "main" java.lang.NoClassDefFoundError:
com/remedy/arsys/api/ARException

arapi63.jar 中不存在 ARException 类,该类存在于我的类路径中,所以我不确定为什么这里没有引用它......有什么想法吗?

更新:

Manifest-Version: 1.0
Class-Path: lib/arapi63.jar;lib/spring.jar;lib/commons-logging.jar;lib
/log4j.jar;lib/ojdbc14.jar
Created-By: 1.5.0_12 (Sun Microsystems Inc.)
Main-Class: RemedyRecord

我按照下面乔恩的评论更新了我的 list ,但仍然收到相同的错误消息。

最佳答案

我认为问题出在您的 Class-Path 条目的格式上。

根据 tutorial :

You specify classes to include in the Class-Path header field in the manifest file of an applet or application. The Class-Path header takes the following form:

Class-Path: jar1-name jar2-name directory-name/jar3-name

请注意,这是用空格分隔的,并在目录名和 jar 文件名之间使用正斜杠

因此,请尝试以下Class-Path条目:

Class-Path: lib/arapi63.jar lib/spring.jar lib/commons-logging.jar lib/log4j.jar lib/ojdbc14.jar

请注意,我已经删除了 ../conf 部分 - 我不相信您可以将目录添加到 jar 文件 list 中的类路径中。 (我刚刚尝试过,但没有成功。)

关于java - 即使类路径中存在所需的类,也会引发 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22080686/

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