您的位置:首页 > 编程语言 > Java开发

javac和参数用法java命令的-d -cp

2016-01-11 23:49 876 查看
两个java文件,Pac.java和A.java

package com.test;

class Pac {

 public static void main(String[] args){

  com.test.test2.A.test();

 }

}

 

package com.test.test2;

public class A{

 public static void main(){

  test();

 } 

 public static void test(){

  System.out.println("I'm AAAAAAAAAAAAAAAAAAAAAAA");

 }

}

其中,类A是Pac类的依赖类,没有A.class文件,Pac.java无法编译通过。

首先,编译A.java,class文件产生在c:路径下

 



然后,才是编译Pac.java

  



意思是告诉jvm,需要用到的类路径可以在c:\路径下查找,Pac.class文件将产生在本地路径下。




 

最后,执行Pac.class, -cp参数的意思是:缺乏的类可到c:\路径下寻找。

2. 使用 -d <directory>编译选项

  是不是觉得上面的编译方法有点麻烦,能不能自动在当前路径(或任意指定的路径)下生成包层次呢?有!使用-d <directory>编译选项就能做到。

 E:\java\src >javac
(其中的点表示当前目录。d 和 . 之间有空格, .和后面的java文件名之间也有空格)

  此时,在当前目录下就生成了一个org\javaresearch目录,并且输出的.class文件也在里面。运行:

E:\java\src >java org.javaresearch.HelloWorld

  系统打印:Hello World!

  如果你想把生成的类文件集中存放在一个目录中,比如:E:\java\classes下,那么你首先创建这个目录,然后编译时:

E:\java\src >javac -d E:\java\classes HelloWorld.java

  就可以把生成的类文件放到E:\java\classes目录下,并且按照包层次相应的创建目录路径。你可以在E:\java\classes\org
\ javaresearch下找到HelloWorld.class文件。此时使用如下命令可以正确运行(注意如果要用到其它类,请在CLASSPATH中 设好):

E:\java\classes >java org.javaresearch.HelloWorld
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: