做网站较好的公司,爱用建站官网,在线表白网页制作,企业信用信息查询公示系统天津我有错误Exception in threadmain java.lang.NoClassDefFoundError:当我尝试在Ubuntu上运行编译类时。我使用的是一个非常简单的helloworld示例#xff0c;互联网上已有数百万的响应表明我的classpath和java_home变量设置错误。但是#xff0c;我已经将etc/envir…我有错误Exception in threadmain java.lang.NoClassDefFoundError:当我尝试在Ubuntu上运行编译类时。我使用的是一个非常简单的helloworld示例互联网上已有数百万的响应表明我的classpath和java_home变量设置错误。但是我已经将etc/environment编辑为正确的文件夹以及当前文件夹PATH.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/gamesJAVA_HOME/usr/lib/jvm/java-1.5.0-sun/CLASSPATH.:/usr/lib/jvm/java-1.5.0-sun/lib当我输入set命令时它们就会出现。在任何情况下即使我手动使用sudo java -cp . myfirstjavaprog.class我也有同样的错误。我还应该看看哪里这一定是配置问题。多谢cyberciti.biz/faq/set-environment-variable-linux你想把.class从头到尾丢掉。只要键入…java -cp . myfirstjavaprog我很沮丧没有发现这一点。我们中最优秀的人也会遇到。我强烈建议去掉classpath环境变量或者至少去掉JRE/JDK。除非另有规定否则.隐含在类路径中。自从Java 1.3以来Java已经足够聪明可以根据JavaC/Java可执行文件的执行路径找到自己的运行库和库。从那时起在类路径上指定那些内容是多余的如果不是完全错误的话。当然.../lib是不正确的因为那里只有jar没有类如果没有单独和明确地命名就不会从类路径中提取它们。现代javas足够聪明当您站在类路径的根目录中时只需键入java它就可以工作trade。你说得对问题是当我尝试编译任何导入Swing组件的东西时它给出了完全相同的错误。尽管helloworld.java示例很好…这似乎很奇怪。哦。。。注意Windows默认情况下是用一个严重瘫痪的Java来运行的可执行文件位于Windows系统类路径中。请在DOS提示符下做Java版本看看你正在运行的Java版本是否是你想要的版本同样的事情可以说是Ubuntu因为它与GNU Java(至少是我见过的Ubuntu系统的两个系统)一起运行而不是Sun的Java。K它不是严重残疾-但它不是太阳的爪哇。我在B/C上投票关于在谷歌上设置Java类路径的东西不多。我错认为你还需要设置类路径…但我错了。那爪哇之家呢…是否仍需要设置该路径变量特雷弗有一些工具很喜欢看它我好像还记得有汤姆猫和蚂蚁在其中。但即使是那些没有的人在正常的情况下你也不需要它。使用sudo update-java-alternatives -s java-6-openjdk它设置了很多类路径的东西。你在把苹果和桔子混在一起。命令行上的原始Java或JavaC调用需要一个类路径来知道它可以访问它的类。当你奔跑java -cp pathelement1:pathelement2... MyClass您给Java提供查找可运行类的位置列表。它不会在其他地方看到包括.除非你告诉它。所以classpath对你没有帮助除非你跑java -cp $CLASSPATH MyClass换句话说它只是一个快捷方式可以继续重新输入类路径。许多程序被配置为使用JavaJHOST但最终运行Java程序只需要配置的类路径和Java路径(它们通过JavaJHOLD变量找到所以您仍然需要它来处理像Ant之类的东西但它的概念仍然只是一个快捷方式)。您的路径是系统查找二进制文件的路径。如果Java不在您的路径上(类型Java)它将显示您的路径(如果有的话Java)。运行/完全/路径/to/Java与运行Java相同并使系统在路径变量中找到二进制。不我认为是类路径环境变量被忽略了。正确的方法是在编译和运行时使用-classpath选项。为每个项目设置。你眼前的证据告诉你是这样的。为什么类路径被忽略几个原因这是一个Java 1伪品已经失宠了。JVM不能保证您已经将其设置为环境变量。IDE有自己的需求所以它们不依赖于它。JavaEE应用服务器有他们自己的要求所以他们不依赖它。每次都必须给出整个路径因为每个项目都可能不同。一旦你通过了你好世界你会发现你自己正在为它编写脚本或者使用Ant和Maven这样的工具来帮助你为你的项目设置类路径。这是个坏主意。因为每次他都要全力以赴为什么类路径环境变量被忽略拉克沙曼-错。他必须学习如何以一种适合未来项目的方式来完成它这种方式不太可能在命令行上编译和运行。这个答案像金子。然而DOS的人是被拧死的。255个字符的命令行。再次感谢比尔关键是一旦通过helloworld和教程就没有人使用命令shell来编译或运行任何有意义的东西。这几乎不是你想要解决的问题。桌面应用程序使用脚本和Ant部署的应用程序使用内置的约定。如果它这么大Java早在几年前就已经绝迹了。好吧我找错地方了。原来Java是好的我是两个单独的问题得到相同错误的受害者。我最初试图从Java网站上运行一个Swing实例但我没有注意到它有一个包定义。我已经设置了正确的文件夹结构现在运行正常。当我尝试运行HelloWorld示例时不小心包含了.class扩展名。这两个问题都给了我classNotFound错误。非常感谢你的帮助。我强烈建议你花些时间看太阳教程。它将帮助你以后-阶级道路是臭名昭著的麻烦制造者。http://java.sun.com/docs/books/tutorial/getstarted/toc.html网站对于设置java_home变量以下是说明。http://luckydev07.blogspot.com/2009/08/setting-javahome-in-ubuntu-linux.html和类路径可以类似地设置已经设置了这些变量但出于某种原因它们被忽略了。我一定有语法问题。链接不再工作..考虑更新..