用cmd编译java程序
此时D:****/WorkSpace/javaCode文件夹中有一个Hello.java程序(****为任意的位置,不重要)
1 public class Hello { 2 public static void main (String args[]) throws Exception{ 3 System.out.println("Hello World!"); 4 } 5 }
首先再cmd中进入目录,cd D:****/WorkSpace/javaCode
有时候会遇到包的编译情况
1 package test; 2 3 public class Hello { 4 public static void main (String args[]) throws Exception{ 5 System.out.println("Hello World!"); 6 } 7 }
在cmd编译时,要返回上一层目录D:****/WorkSpace/ 再编译
编译时也可以用java -d . Hello.java ,编译后会在javaCode文件夹下发现一个新的test文件夹,test就是包名,编译后的class文件将会放在里面,其中.是表示当前目录(D:****/WorkSpace/javaCode),Hello.java则是要进行编译的java文件,编译成功后,需要加入test文件夹里运行(不然会找不到目录)
现在有两(多)个文件,其中一个文件需要用到另一个文件的方法情况时,可以这样编译在(D:****/WorkSpace/javaCode有一个test文件夹,里面放有两个java文件)
Hello.java文件:
1 package test; 2 3 public class Hello { 4 public static void main (String args[]) throws Exception{ 5 var p = new Person(); 6 p.setMessage("hey world!"); 7 System.out.println("我听见有人在说:" + p.getMessage()); 8 } 9 }
Person.java文件:
1 package test; 2 3 public class Person { 4 private String msg; 5 public void setMessage(String msg) { 6 this.msg = msg; 7 } 8 public String getMessage() { 9 return this.msg; 10 } 11 }
第一个.表示编译好的class文件放在当前位置,第二个则是编译文件的目录,编译完成会后发现当前多个两个class文件,
当然不用-d 也是可以的, 效果和上面的一样
有时候可能会出现这样的错误,原来发现是 . 打成 , 了(捂脸),真是一点小细节。