在CMD下使用Java命令执行class文件

package MyJava;

public class MyThread {

	public static void SysPrint(String str) {
	
		System.out.println(str);
	}

	public static void main(String[] args) {
	
		SysPrint("Hello World");
	}
}

 java文件在:C:\Users\Ivan\Desktop\txt\MyThread.java
javac后,class文件保存在:C:\Users\Ivan\Desktop\txt\MyJava\MyThread.class

 

关于cmd下的java命令
正确的做法
1.把目录cd到:C:\Users\Ivan\Desktop\txt
然后:java MyJava.MyThread
即:C:\Users\Ivan\Desktop\txt>java MyJava.MyThread

 

2.在任何目录下,使用-cp或-classpath命令参数(不包括C:\Users\Ivan\Desktop\txt\MyJava)
如:C:>java -cp C:\Users\Ivan\Desktop\txt MyJava.MyThread
如:D:>java -cp C:\Users\Ivan\Desktop\txt MyJava.MyThread

 

关于-cp (作用、效果同-classpath)

-cp <路径>                   指定查找用户类文件和注释处理程序的位置

 

错误的做法,有
1.把目录cd到:C:\Users\Ivan\Desktop\txt\MyJava
然后:java MyJava.MyThread
或:java MyThread
即:C:\Users\Ivan\Desktop\txt\MyJava>java MyJava.MyThread
或:C:\Users\Ivan\Desktop\txt\MyJava>java MyThread

 

2.错误使用-cp,将路径直接指到了包里面
即:D:>java -cp C:\Users\Ivan\Desktop\txt\MyJava MyJava.MyThread
或:D:>java -cp C:\Users\Ivan\Desktop\txt\MyJava MyThread

 

总结,将当前路径设置为包的父目录,
或使用-cp/-classpath参数,使得当前路径相当于在包的父目录,就能够正确执行java命令了。

 

补上一遍更有营养的文章,http://blog.csdn.net/CaesarZou/archive/2010/04/08/5462189.aspx

你可能感兴趣的:(在CMD下使用Java命令执行class文件)