我的Java一直都是能编译但是不能执行,求教高手!

来源:百度知道 编辑:UC知道 时间:2024/09/22 07:53:38
编译一般都没问题,但是到执行的时候就出现:
Exception in thread "main" java.lang.NoClassDefFoundError:执行文件名
Cansed by:java.lang.ClassNotFoundException:执行文件名
at Java.net.URLClassLoader$1.run(UPRClass:oader.java:200)
at ...........
我的环境变量设置如下:
ClassPath = .;D:\Java\jdk1.6.0_10\lib;D:\Java\jdk1.6.0_10\lib\tools.jar
path = D:\Java\jdk1.6.0_10\bin
java_home = d:\Java\jdk1.6.0_10
java运行文件的时候不能加路径吗?
java 文件名
意思是只能有文件名不能有路径?为什么我切换到源文件目录 不加路径就能执行?
程序没问题的……
这是一个:
public class t{
public static void main (String[] args){
System.out.println(6^2);
}
}
还有不少:
public class Floating {
public static void main(String[] args) {
float a = 35.45f;
double b = 3.56e18;
System.out.println("a="+a);
System.out.println("b="+b);
}
}

我现在想问的是,为什么我java后面不加路径就能执行,加了就不行呢?

java虚拟机是在classPath目录下找class文件,class路径加上你写的路径变成了什么?它当然找不到了

当然能加路径了
测试一下你的 环境
java -version 看你的jdk是什么版本是不是跟你装的一样
javac java 运行一下看看是不是有很多字的提示
如果这些都正常的话
把你的程序贴出来

执行一个程序,需要main方法的。比如
public static void main(String args[]){
//你看下是否有这个main 必须有的,没有执行不了的
}

祝你好运

当 Java 虚拟机或 ClassLoader 实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用 new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常java.lang.NoClassDefFoundError。

不是缺少main方法,而是你的main方法里调用了未定义的类。

这个意思就是在你的原程序中找不到main方法。我建议你最好把你的程序贴出来。不然,仅对错误分析,不看源程序。是不好说的。所以希望你把程序尽早贴在上面。

应该是缺少main()方法吧,你应该把main()写在里面,或者在写一个测试类(包含main()方法),试试吧。