javac是java编程语言的编译器。它的基本作用是,读取使用java语言编写的类和接口的定义,并将它们编译成为字节代码的class文件。javac实际上还能够隐式的编译一些在命令行中没有提及的源文件。本文将介绍如何查看javac可以使用的一些命令,并通过实例的方式讲解其用法。

       一、查看javac的帮助命令

       操作步骤:cmd-->回车-- > 输入javac -help ,可查看javac的命令。

javac help命令

       二、实例演示

       先来段HelloWorld.java保存到e:\Software\EclipseWorkspace\wirelessqa\src\com\wqa\test\   文件夹下面。

Java代码
  1. package com.wqa.test;      
  2. /**     
  3.  * @author      
  4.  *     
  5.  */      
  6. public class HelloWorld {      
  7.         public static void main(String[] args) {      
  8.               System. out.println("hello world" );      
  9.        }      
  10. }    

       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 查看编译结果

Android自动化打包2:如何使用javac

       2.3.  执行编译过的类文件 **.class文件  

       命令: java -cp <**.class文件存放的文件夹+空格+类名>

       实例演示:

Java代码
  1. public class HelloWorld {   
  2.      public static void main(String[] args) {   
  3.            System. out.println("hello world" );   
  4. }   

       HelloWorld.java 存放到在E盘根目录下,执行javac e:\HelloWorld.java 编译,生成HelloWorld.class

       执行:java -cp e:\ HelloWorld

       结果:hello world

       2.4  编译有外部引用的类 

       命令: java -cp <jar包存放路径> <类文件存放路径>

       实例演示:

Java代码
  1. import com.auto.operate.*; //引用AutoMonkey.jar中的类   
  2.   
  3. /**  
  4.  * @author   
  5.  *  
  6.  */  
  7. public class HelloWorld {   
  8.         public static void main(String[] args) {   
  9.                new SystemUtils().print("hello world" );   
  10.        }   
  11. }  

       这里引用一个包com.auto.operate.*; 这个jar包位于e盘根目录下:AutoMonkey.jar

       1、如果直接 javac E:\HelloWorld.java 则会报错。

       2、如果指定jar包 则编译正常:javac -cp E:\AutoMonkey.jar E:\HelloWorld.java

Android自动化打包2:如何使用javac

       编译成功,重新生成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 (其中 . 表示当前目录 )

       完整的编译执行一下:

Android自动化打包2:如何使用javac

       注意:

       1)-cp的路径不仅指定了所需要的AutoMonkey.jar的位置,还必须指出编译后的Test.class的位置。

       2)类路径中的不同项目要用分隔符区分,Unix系统的分隔符是冒号(:),Windows的是分号(;)

       这一节就先讲到这里了,谢谢大家。

本文发布:Android开发网
本文地址:http://www.jizhuomi.com/android/environment/287.html
2012年11月23日
发布:鸡啄米 分类:Android开发环境 浏览: 评论:0