javac -cp -d
1.概述
一般生成把java编译成class文件,有以下写法:
a). javac [-cp xxx.jar] xxxx.java
b). javac [-cp xxx.jar] -d . xxxx.java
c). javac [-cp xxx.jar] -d ./classes xxxx.java
第一,二种方式是在当前目录中生成class文件,第三种方式是在classes文件夹下生成class文件;
根据xxx.java文件中有没有包名package,第一,二种方式生成的class文件路径也不相同,通过例子说明:
demo.java文件如下(没有包名package):
public class demo {
public static void main(String[] args) {
System.out.println("hello world!");
}
}
2. 无package讲解
第一种方式运行结果:

第二种方式运行结果:


第三种方式运行结果:



3. 有包名时
demo.java中有包名:
package cj.test;
public class demo {
public static void main(String[] args) {
System.out.println("hello world!");
}
}
第一种方式编译之后是不能执行的:

第二种方式:


第三种方式:


4. 第三方jar
- 如果编译时使用到第三方jar包时(java文件有包名package,使用的第三方jar放在jar文件夹中,编译后的文件放在classes中):
![在这里插入图片描述]()
![执行java程序时,一定要指定在 **-cp** 中指定用到的第三方jar,以及执行的class文件的存放位置。]()
即:
javac -cp 编译使用jar文件 -d 编译后class存放位置 xxx.java
java -cp 执行class存放位置;执行使用的第三方jar 编译后的class文件(包含包名)
关注公众号 海量干货等你



浙公网安备 33010602011771号