前几天,当我试图运行一个从朋友那里用java1.6编译的jar文件时,我的问题就开始了。然后我得到了:
java.lang.NoClassDefFoundError因为我显然只使用了java1.5。所以我使用系统更新进行了更新。这并没有帮助,当我运行时:
java -version在终端上,它仍然说我有java 1.5。然后我在互联网上看到,在苹果的下载页面上有一个"java SE update4“。我下载并安装了这个文件,但它仍然不能工作。我放弃了,决定继续我在eclipse中的编程。当我试图在eclipse中编译和运行我的应用程序时,我现在收到了相同的错误java.lang.NoClassDefFoundError,它不让我继续。我尝试右击项目并查看属性,但它不让我,只是给了我另一个错误。当我安装新的java版本时,我想我可能搞砸了什么,所以我试着重新安装eclipse,但它仍然给我同样的错误。我试着创建一个新的工作区,但也没有帮助。然后,我想我应该尝试通过终端进行编译,使用:
javac main.java
java main但我仍然得到相同的错误。我进入系统设置并关闭了“java1.6”,我尝试用javaSE-5和javaSE-6创建新项目,但它就是不起作用。我现在的想法是,这是否与eclipse无法访问项目目录中的bin & src目录有关,但如果我重新安装它,应该可以工作吗?我还看到有人提到在os x中设置类路径,但我不知道。我真的需要一些帮助来解决这个问题,因为我的很多工作都依赖于eclipse的工作。我不希望仅仅因为这个原因而重新安装整个操作系统,但是如果我不能让它工作,我想我没有其他选择。
最好的问候乔纳斯·克里斯滕森
发布于 2011-04-08 17:40:38
“重新安装整个操作系统”?天啊,不。
您的问题与Java版本无关。您不了解CLASSPATH是如何工作的。
您试图运行的类不在CLASSPATH上。如果您的朋友给了您一个JAR,您需要将其添加到您的CLASSPATH中,并使用完全解析的类名来运行它。
对你未来的心理健康有一个建议:当你有问题时,不要做最坏的打算,而是采取极端的措施。先尝试简单的解决方案。
发布于 2011-04-08 17:47:15
我试着运行一个jar文件,这个文件是从一个朋友那里用java1.6编译的。..。因为我显然只使用了java1.5
请注意,如果真是这样,您将得到一个java.lang.UnsupportedClassVersionError,因为Java5不能运行为Java6编译的类(它可能能够这样做,但是类文件显示"I'm Java 6+“(类版本50),因此Java5将拒绝运行它(Java5中的最大类版本将是49)。
发布于 2013-05-01 21:31:13
尝试使用以下命令编译
javac -source 1.5 target 1.5 .....https://stackoverflow.com/questions/5593221
复制相似问题