习惯了eclipse,连CMD下运行java都不会了,请指教:1,jdk也成功安装,cmd下敲“javac -h”正常
2,目录:e:\workspace\cmd_java\Test.java
3,代码:package ok;
public class Test{
public static void main(String str[]){
System.out.println("--------cmd运行java!---------");
}
}4,运行e:\> javac -cp e:\workspace\cmd_java e:\workspace\cmd_java\Test.java
成功,且Test.class也在e:\workspace\cmd_java\目录下
5,运行e:\> javac -cp e:\workspace\cmd_java ok.Test.class 报错:Exception in thread "main" java.lang.NoClassDefFoundError: ok/Test/class如果:
5,运行e:\> javac -cp e:\workspace\cmd_java ok.Test 报错:Exception in thread "main" java.lang.NoClassDefFoundError: ok/Test请指教!
2,目录:e:\workspace\cmd_java\Test.java
3,代码:package ok;
public class Test{
public static void main(String str[]){
System.out.println("--------cmd运行java!---------");
}
}4,运行e:\> javac -cp e:\workspace\cmd_java e:\workspace\cmd_java\Test.java
成功,且Test.class也在e:\workspace\cmd_java\目录下
5,运行e:\> javac -cp e:\workspace\cmd_java ok.Test.class 报错:Exception in thread "main" java.lang.NoClassDefFoundError: ok/Test/class如果:
5,运行e:\> javac -cp e:\workspace\cmd_java ok.Test 报错:Exception in thread "main" java.lang.NoClassDefFoundError: ok/Test请指教!
javac 只对java文件编译,也就是说只能对.java的文件操作。你那些文件格式都不对。
如果你的classpath是cmd_java,请去掉Test.java中的package ok;如果不去,请在Test.java放在cmd_java\ok中
这样你得用java这个命令呀
比如运行你的程序,你就要到e:\workspace\cmd_java下
运行:java ok.Test而不是用javac,javac只是用来编译
java e:\workspace\cmd_java ok.Testjava <class文件名>
而且文件名不需要.class
javac -cp e:\workspace\cmd_java ok.Test.class
改为:
java -cp e:\workspace\cmd_java ok.Test.class
还是那个错误:
报错:Exception in thread "main" java.lang.NoClassDefFoundError: ok/Test
java 执行时不用带class后缀
javac -cp e:\workspace\cmd_java ok.Test.class
和
javac -cp e:\workspace\cmd_java ok.Test
结果都一样报错:
Exception in thread "main" java.lang.NoClassDefFoundError: ok/Test
直接拷我#8的行了.
声明一下
凡是 运行的地方 "javac" 都是我马虎写错了,我的本意是"java"
编译和 运行我还是分得清的
给大家带来了误导,不好意思!
Exception in thread "main" java.lang.NoClassDefFoundError:Files\java\jdk1/6/0_02\lib\tools/jar;D:\Program
java -cp "e:\workspace\cmd_java;%classpath%" ok.Test加多两个引号.
就这样也可以了:
java ok.Test
假设项目根目录为 e:\workspace\cmd_java
既然
package ok;
public class Test
...
那么 Test.java 这个文件一般应该放在 e:\workspace\cmd_java\ok 下,这样整理起来比较方便
如果一定要放在 e:\workspace\cmd_java下编译,
那么编译时需要指定 -d参数,让编译器自动生成包路径:
javac -cp e:\workspace\cmd_java;%classpath% -d e:\workspace\cmd_java e:\workspace\cmd_java\Test.java
此时会发现 Test.class 是在 e:\workspace\cmd_java\ok 下运行的话:
java -cp e:\workspace\cmd_java;%classpath% ok.Test
2. 命令行
1> d:
2> cd com
3> javac -d ./ demo.java
4> java com.demo
javac -cp "e:\workspace\cmd_java;%classpath%" -d e:\workspace\cmd_java e:\workspace\cmd_java\Test.java
此时会发现 Test.class 是在 e:\workspace\cmd_java\ok 下 运行的话:
java -cp "e:\workspace\cmd_java;%classpath%" ok.Test
运行出来了
按照20楼的方法
e:\> javac -d e:\workspace\cmd_java e:workspace\cmd_java\Test.java
e:\workspace\cmd_java> java ok.Test
结果:
--------cmd运行java!---------
大家可以试一下。我发这帖子,因为Eclipse已经运行web程序了,我想再写个java测试一下,自己的web程序结贴