为什么我的第一个Java学习程序可以编译,但是不能执行? 看看classpath是否写错,最后应加上;. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上说的,就可以解决了你可以先试验:java看看,是否可以正常运行 因为class Welcome1 { public static void main (String args[]) { System.out.println ("Welcome to Java Programming!"); }} 1。java.ext文件本身没有问题啊?我还可以用"java -version" 啊?!2。.class文件当然已经生成了!(“javac Welcome1.java”生成的不就是吗?而且我看了,在目录里有!文件名:Welcome1.class !)3.我不明白的是为什么当我执行的时候就出错呢?我再命令行(cmd)中给的命令是“java Welcome1”, 这难道还有错吗?!唔唔唔唔唔唔救救我吧! 为什么我在另外一台计算机上就行呢?JDK版本是一样的啊:c:\java -versionjava version "1.4.1_01"Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode) 环境变量我已经设置了呀.就是"path"是吗?我的机器的..\bin\下面的可执行文件我都能访问啊(在任何目录下), java, javac, jar等等.我真的糊涂了.^^^^^^^^^^^^^^^^^^^^^^^ 可能是在注册表中没注册进取,我也遇到过这样的情况,在注册表中找到注册的javac的那一项,然后手工加入java,并键入其值,试试看 还是不行啊!!!我都重新装过一次JDK了!!!也不行!!!重新设置classpath也不行!!!我的计算机为:winxp home edition+JDK 1.4.1_01源文件Welcome1.java, bytecode文件Welcome1.class都在C:\下.源文件中的类名称为Welcome1.所有编译\运行\都在C:\下输入.1。源代码://filename: Welcome1.javapublic class Welcome1 { public static void main (String args[]) { System.out.println ("Welcome to Java Programming!"); }}2.使用“javac Welecome1.java”,编译通过;3。但是使用"java Welecome1", 执行出错!错误信息为:“Exception in thread "main" java.lang.NoClassDefFoundError: Welcome1”4。检查java版本:"java -version", 正常啊。1。4。1_01-b01可是为什么会出错啊?! 我的问题解决了!!!没有错,问题就是出在classpath上!!!以下是我改过的classpath(我的电脑中的环境变量)特别需要注意的是等号后边的".;"(英文句点和分号)和最后的";"(分号)!!!classpath=.;C:\j2sdk1.4.1_01\lib;折腾了这么半天,终于解决了问题.希望我的贴子对大家也有帮助!谢谢大家了! 怎么说呢.我是一个初学者.一个倡议:谁能把classpath的问题讲的清楚一点呢?或者哪怕是提供些资料?明日22:00准时结帖!在此之前,谁能把classpath的问题总结下,接分!当然,如果没有,我也散分揭贴! 如果你没有设置classpath,在执行的时候应该输入:java -classpath . ***-classpath . 是为java虚拟机指定classpath到当前路径(包括在windows环境变量中设置的classpath) 第一个人说得对,我也遇到过这种情况。Java 运行需要类库,就是 set classpath=C:\j2sdk1.4.1\lib (具体路径视JDK 安装路径而言),这个我想你也知道。另外还需要一个路径,就是你编译后生成 .class 文件所在的路径。一般 Java 程序运行大都在 .class 文件所在的路径中运行,所以需要加上 ;.以便运行时 Java 除了在上面所设的基础类库中查找外,还会在当前目录中查找 .class 文件(在此,也就是你编译后的 .class 文件),如果没有加 ;. 的话就会出现你所说的错误。完整的类路径设定应为:set classpath=C:\j2sdk1.4.1\lib;. (最后的一个点代表当前路径)如果还有需要用到别的路径中的类,则需在点后面再加上别的路径,如:set classpath=C:\j2sdk1.4.1\lib;.;D:\j2sdk1.4.0\lib或 set classpath=C:\j2sdk1.4.1\lib;D:\jwsdk1.4.0;. 也可以,先后顺序无所谓。完了。希望对你有所帮助。 exe4j生成exe出错Unknown Source jar打成exe,如何找到jar的路径,急啊!! for循环问题 大家元旦快乐!帮帮我这个新手 初学JAVA,总觉得界面很难定位,有什么技巧? 请问如何用java取得win2000系统注册表中的信息?谢谢! 两个类之间创建对象但发生死锁的问题,请高手帮助解决! 关于事件! 如何在一个JDialog上的某个组建为当前焦点? java读取文件为什么和ue看到的不一样。。 Java的bug??? 如何实现当鼠标移出JTable区域,并且click一下,触发一个事件?
你可以先试验:java
看看,是否可以正常运行
class Welcome1
{
public static void main (String args[])
{
System.out.println ("Welcome to Java Programming!");
}
}
2。.class文件当然已经生成了!(“javac Welcome1.java”生成的不就是吗?而且我看了,在目录里有!文件名:Welcome1.class !)
3.我不明白的是为什么当我执行的时候就出错呢?
我再命令行(cmd)中给的命令是“java Welcome1”, 这难道还有错吗?!
唔唔唔唔唔唔
救救我吧!
JDK版本是一样的啊:
c:\java -version
java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_
Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)
我的机器的..\bin\下面的可执行文件我都能访问啊(在任何目录下), java, javac, jar等等.
我真的糊涂了.
^^^^^^^^^^^^^^^^^^^^^^^
在注册表中找到注册的javac的那一项,然后手工加入java,并键入
其值,试试看
我都重新装过一次JDK了!!!也不行!!!
重新设置classpath也不行!!!我的计算机为:
winxp home edition
+JDK 1.4.1_01
源文件Welcome1.java, bytecode文件Welcome1.class都在C:\下.
源文件中的类名称为Welcome1.
所有编译\运行\都在C:\下输入.1。源代码:
//filename: Welcome1.java
public class Welcome1
{
public static void main (String args[])
{
System.out.println ("Welcome to Java Programming!");
}
}
2.使用“javac Welecome1.java”,编译通过;
3。但是使用"java Welecome1", 执行出错!
错误信息为:“Exception in thread "main" java.lang.NoClassDefFoundError: Welcome1”
4。检查java版本:"java -version", 正常啊。1。4。1_01-b01可是为什么会出错啊?!
没有错,问题就是出在classpath上!!!
以下是我改过的classpath(我的电脑中的环境变量)
特别需要注意的是等号后边的".;"(英文句点和分号)和最后的";"(分号)!!!classpath=.;C:\j2sdk1.4.1_01\lib;折腾了这么半天,终于解决了问题.希望我的贴子对大家也有帮助!谢谢大家了!
谁能把classpath的问题讲的清楚一点呢?
或者哪怕是提供些资料?明日22:00准时结帖!在此之前,谁能把classpath的问题总结下,接分!当然,如果没有,我也散分揭贴!
java -classpath . ***
-classpath . 是为java虚拟机指定classpath到当前路径(包括在windows环境变量中设置的classpath)
另外还需要一个路径,就是你编译后生成 .class 文件所在的路径。一般 Java 程序运行大都在 .class 文件所在的路径中运行,所以需要加上 ;.
以便运行时 Java 除了在上面所设的基础类库中查找外,还会在当前目录中查找 .class 文件(在此,也就是你编译后的 .class 文件),如果没有加 ;. 的话就会出现你所说的错误。完整的类路径设定应为:
set classpath=C:\j2sdk1.4.1\lib;. (最后的一个点代表当前路径)
如果还有需要用到别的路径中的类,则需在点后面再加上别的路径,如:
set classpath=C:\j2sdk1.4.1\lib;.;D:\j2sdk1.4.0\lib
或 set classpath=C:\j2sdk1.4.1\lib;D:\jwsdk1.4.0;. 也可以,先后顺序无所谓。完了。希望对你有所帮助。