当前位置: 首页 > 工具软件 > cp-class > 使用案例 >

javac -d,-cp是什么意思

田骁
2023-12-01

javac -d <directory>指定放置生成的类文件的位置。
javac -cp <path>指定查找用户类文件和注释处理程序的位置

具体解释

javac是命令行里程序编译的命令。java是运行程序的命令。

-d

-d的意思是将源文件编译后生成的字节码文件(bytecode),扩展名为.class,放置在你想要的文件<directory>里。

-cp

javac -cp和java -cp都是设置查找相应文件的路径,比如:
java -cp是告诉java.exe寻找字节码文件(.class)的位置

例子

编译

package是我的包名,Main.java是我的源文件。“d:\lab10\src\package\Main.java”是为了告诉javac.exe到哪里去找源文件。
“d:/classes”是用户设定的生成的字节码文件所在位置

javac -d d:/classes d:\lab10\src\package\Main.java

命令执行成功后可去“d:/classes”里验证一下,会发现生成的.class文件。

执行

java -cp d:/classes package.Main

这一步是将上一步在“d:/classed”生成的字节码文件交给JVM运行。
这里注意两点:
1)源文件放在包里的,类名前要加包名,比如上述例子的“package”就是“Main”类的包名
2)java命令 -cp后的文件地址不能进到包里面
比如我的.class文件路径为“d:/classes/lab10/Main.class”,lab10为包名
那么不能写成java -cp d:/classes/lab10 package.Main

不满足(1)(2)可能会出现以下错误:

错误: 找不到或无法加载主类 Main
原因: java.lang.ClassNotFoundException: Main

3)java命令的参数需要一个类,填写类名,不要加后缀名,比如上述的“package.Main”后面什么也没有。

其他

在命令行里输入

javac --help

即可看到javac命令的许多用法。

欢迎留言指正!

 类似资料: