javac是java编程语言的编译器。它的基本作用是,读取使用java语言编写的类和接口的定义,并将它们编译成为字节代码的class文件。javac实际上还能够隐式的编译一些在命令行中没有提及的源文件。本文将介绍如何查看javac可以使用的一些命令,并通过实例的方式讲解其用法。
一、查看javac的帮助命令
操作步骤:cmd-->回车-- > 输入javac -help ,可查看javac的命令。
二、实例演示
先来段HelloWorld.java保存到e:\Software\EclipseWorkspace\wirelessqa\src\com\wqa\test\ 文件夹下面。
- package com.wqa.test;
- /**
- * @author
- *
- */
- public class HelloWorld {
- public static void main(String[] args) {
- System. out.println("hello world" );
- }
- }
2.1 把编译文件存放到类同级目录下
命令: javac e:\Software\EclipseWorkspace\wirelessqa\src\com\wqa\test\HelloWorld.java
结果: 编译文件会存放在类文件同一个目录下。
2.2 把编译文件存放到指定的位置
命令:javac -d <编译文件存放位置> <类的存位置>
步骤:
1、cmd--回车--重定向到e盘(自已定义,看文件存放在哪里)
2、输入:E:\>javac -d Software\EclipseWorkspace\classes Software\EclipseWorkspace\wirelessqa\src\com\wqa\test\HelloWorld.java
3、回车,到文件夹 E:\Software\EclipseWorkspace\classes\com\wqa\test 查看编译结果
2.3. 执行编译过的类文件 **.class文件
命令: java -cp <**.class文件存放的文件夹+空格+类名>
实例演示:
- public class HelloWorld {
- public static void main(String[] args) {
- System. out.println("hello world" );
- }
HelloWorld.java 存放到在E盘根目录下,执行javac e:\HelloWorld.java 编译,生成HelloWorld.class
执行:java -cp e:\ HelloWorld
结果:hello world
2.4 编译有外部引用的类
命令: java -cp <jar包存放路径> <类文件存放路径>
实例演示:
- import com.auto.operate.*; //引用AutoMonkey.jar中的类
- /**
- * @author
- *
- */
- public class HelloWorld {
- public static void main(String[] args) {
- new SystemUtils().print("hello world" );
- }
- }
这里引用一个包com.auto.operate.*; 这个jar包位于e盘根目录下:AutoMonkey.jar
1、如果直接 javac E:\HelloWorld.java 则会报错。
2、如果指定jar包 则编译正常:javac -cp E:\AutoMonkey.jar E:\HelloWorld.java
编译成功,重新生成HelloWorld.class
说明:
如果当前你要编译的java文件中引用了其它的类,但该引用类的.class文件不在当前目录下(或在其他目录下,或在.zip/.jar内),这种情况就需要在javac命令后面加上-cp/-classpath参数来指明这些类的位置。 一般来说有三种指定方式:
1)绝对或相对路径:javac -cp e:/AutoMonkey.jar HelloWorld.java 或 javac -cp ../AutoMonkey.jar HelloWorld.java (其中 .. 表示上一级目录 )
2)系统变量:javac -cp %CLASSPATH% HelloWorld.java (其中:%CLASSPATH%表示使用系统变量CLASSPATH的值进行查找,这里假设AutoMonkey.jar的路径就包含在CLASSPATH系统变量中)
3)当前目录: javac -cp ./AutoMonkey.jar HelloWorld.java (其中 . 表示当前目录 )
完整的编译执行一下:
注意:
1)-cp的路径不仅指定了所需要的AutoMonkey.jar的位置,还必须指出编译后的Test.class的位置。
2)类路径中的不同项目要用分隔符区分,Unix系统的分隔符是冒号(:),Windows的是分号(;)
这一节就先讲到这里了,谢谢大家。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。