Java无类定义错误

Java无类定义错误,java,jar,Java,Jar,我正在开发一个Java应用程序,但得到了一个Java.lang.NoClassDefFoundError。 我已经检查了我能想到的一切: jar文件存在于目录中,不是0字节 jar文件与我用ls-la cmmand展示的所有其他jar文件具有相同的权限 jar文件包含报告为丢失的确切类,我已经在jar tf命令的输出中显示了这一点 jar文件是在命令字符串中的-cp选项下指定的。我已经更改了jar在类路径和其他路径中的顺序 jar文件被识别,否则程序的其他部分将无法工作 这就是我正在构建的jar

我正在开发一个Java应用程序,但得到了一个Java.lang.NoClassDefFoundError。 我已经检查了我能想到的一切:

jar文件存在于目录中,不是0字节 jar文件与我用ls-la cmmand展示的所有其他jar文件具有相同的权限 jar文件包含报告为丢失的确切类,我已经在jar tf命令的输出中显示了这一点 jar文件是在命令字符串中的-cp选项下指定的。我已经更改了jar在类路径和其他路径中的顺序 jar文件被识别,否则程序的其他部分将无法工作 这就是我正在构建的jar文件 项目在我的笔记本电脑上的eclipse中工作 它在我的树莓里就是不起作用

我必须在ClassNotFound错误调试清单中添加其他内容。有人有什么建议吗

下面列出了我运行的检查的输出

pi@pi-raspbian-main ~/personal_services $ java -cp /home/pi/personal_services/Console/Console.jar:/home/pi/personal_services/lib/Library.jar:/home/pi/personal_services/lib/JavaCommon.jar:/home/pi/personal_services/lib/sqlite-jdbc-3.7.2.jar:/home/pi/personal_services/lib/commons-codec-1.10.jar metcarob.com.personalservices.console.Main /home/pi/personal_services/Console/ConsoleSettings.xml ListNodes
EVALUATING ListNodes
CONNECTING
Exception in thread "ConnectionThread" java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64
    at metcarob.com.common.network.xmlprotocol.ConnectionSocketContainer.ProcessIncommingMessages(Unknown Source)
    at metcarob.com.common.network.xmlprotocol.Connection.processIncomingMessages(Unknown Source)
    at metcarob.com.common.network.xmlprotocol.Connection.runDER(Unknown Source)
    at metcarob.com.common.thread.CloseableThread.run(Unknown Source)
RUNNING ListNodes
Closing connection
Closing connection
DONE
pi@pi-raspbian-main ~/personal_services $ jar tf /home/pi/personal_services/lib/commons-codec-1.10.jar | grep Base64
org/apache/commons/codec/binary/Base64.class
org/apache/commons/codec/binary/Base64InputStream.class
org/apache/commons/codec/binary/Base64OutputStream.class
pi@pi-raspbian-main ~/personal_services $ ls -la /home/pi/personal_services/lib/commons-codec-1.10.jar
-rw-r--r-- 1 pi pi 284184 Apr  3 20:54 /home/pi/personal_services/lib/commons-codec-1.10.jar
谢谢
罗伯特我已经找到了我问题的原因

我的主应用程序位于:Console.jar 它使用了一个实用jar:JavaCommon.jar 使用的名称:commons-codec-1.10.jar

当我构建JavaCommon.jar时,我提供了一个包含commons-codec-1.10.jar的类路径,并且编译时没有问题

当我构建Console.jar时,我提供了一个包含JavaCommon.jar但不包含commons-codec-1.10.jar的类路径,并且编译时没有问题

然后,当我运行我的应用程序时,我提供了一个包含所有JAR的类路径,但我仍然得到了NoClassDefFoundError异常


当我更改构建时,我使用包含所有jar的类路径构建了Console.jar,它再次编译并运行时没有出现问题。

非常有趣。。。jar使用的jdk版本是什么?您是否检查过raspberry Pi的java版本是1.8.0 JavaTM SE运行时环境构建1.8.0-b132 java HotSpotTM客户端VM构建25.0-b70,在我的笔记本电脑上eclipse的混合模式我正在根据jdk 1.7构建。这有关系吗?它似乎不适合其他罐子files@Robert3452这就是程序显示的所有堆栈跟踪吗?因为它不是ClassNotFoundException,所以jvm可能确实找到了库,但未能加载它。