java in thread main_关于Java的错误:Exception in thread "main" java.lang.NoClassDefFou

从网上找了一些资料,加上自己的为数不多的经验总结了一下:

1 安装与配置

(1)在我的电脑C盘里安装了SDK ,路径是这样的:C:\Program Files\Java

安装之后在Java这个文件夹里有两个文件夹jdk1.6.0_10和jre6

(2)设置环境变量

在classpath路径后面加入 :C:\Program

Files\Java\jdk1.6.0_10\jre\lib\rt.jar;.;

在path路径后面加入:C:\Program Files\Java\jdk1.6.0_10\bin

(3)写java文件

在D盘下建立了一个叫Java的文件夹,存放一个名叫Hello.Java的文件

在dos下输入:Javac D:\java\hello.java 能通过编译

但在运行 输入:Java D:\java\hello 就不能运行了

2 提示错误

Exception in thread "main"

java.lang.NoClassDefFoundError:D:\java\hello

3 解决方法

应该这样检查你的环境和你的操作: (1)、你的文件名对吗?

JAVA要求你的文件和你的类名严格对应的。比如 public class Hello{ .....

那么文件名一定只能是Hello.java,看仔细了

(2)、你的程序中有main方法吗?参数什么的对吗?

main方法的声明应该是这样子的:

public static void main(String[] args)

(3)、记住,javac后面跟的参数是文件名,但java 后面跟的是类名!

这是开始学JAVA时,常犯的错,java Hello.class,然后就报错。后来才弄明白,应该是java Hello。

(4)、环境变量检查

点开始->运行-->cmd,输入JAVA或JAVAC

如果你看到关于JAVA的很多信息就OK了!其实都提示到Exception in thread "main"

java.lang.NoClassDefFoundError:D:\java\hello

了可以肯定的说,不是编译环境的问题。

(5)、查看你现在用的JDK版本和你编译文件的JDK是不是同一个版本的

点开始->运行-->cmd,然后输入 javac -version看编译器的版本,输入java

-version看执行时的版本,再看看你刚才执行文件版 本,看一不一样!

(6)、你在环境变量CLASSPATH上加上路径D:/java,你照样可以直接运行命令java

Hello,或者临时运行时候查找路径可以这样写java -classpath

D:/。

或者set

classpath=D:/java(注意这样只是临时设置classpath,一旦你关闭命令提示符设置即可失效)

java Hello

后来补充:

后来一想既然在环境变量中已经加入“.”(当前目录),为什么后面还非得再设置一次环境变量呢?难道原先的设置没有起作用?最后发现为题出在classpath和path的设置上。

原先的设置是:

“在classpath路径后面加入

:C:\Program Files\Java\jdk1.6.0_10\jre\lib\rt.jar;.;

在path路径后面加入:C:\Program

Files\Java\jdk1.6.0_10\bin”

应该是这个样子:classpath中把“.”放在最前面,即:.;C:\Program

Files\Java\jdk1.6.0_10\jre\lib\rt.jar;

在path路径的最前面加入:C:\Program Files\Java\jdk1.6.0_10\bin

原因:当你输入某个命令时,系统会在classpath,path中从前往后进行查找,一旦找到就不再继续往下查找。所以你在后面设置的路径,一旦在前面找到了根本就不会跑的你预想的路径下。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值