现在的位置: 首页 > 综合 > 正文

【Android自动化打包】02. javac的用法

2013年10月27日 ⁄ 综合 ⁄ 共 2198字 ⁄ 字号 评论关闭

javac 是javac语言编程编译器。javac工具读由java语言编写的类和接口的定义,并将它们编译成字节代码的class文件。javac
可以隐式编译一些没有在命令行中提及的源文件。
javac命令用法如下:

一 . 查看javac的帮助命令


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


二. 实例演示:

 前提条件:

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

package com.wqa.test;

/**
 * @author Xiaopeng
 *
 */
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 Xiaopeng
 *
 */
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参数来指明这些类的位置。 一般来说有三种指定方式:

              ① 绝对或相对路径:javac -cp e:/AutoMonkey.jar HelloWorld.java  javac
-cp ../
AutoMonkey.jar HelloWorld.java   (其中 .. 表示上一级目录 )

              ② 系统变量:javac -cp %CLASSPATH% HelloWorld.java (其中:%CLASSPATH%表示使用系统变量CLASSPATH的值进行查找,
                          这里假设AutoMonkey.jar的路径就包含在CLASSPATH系统变量中)

              ③ 当前目录: javac -cp ./AutoMonkey.jar HelloWorld.java (其中 . 表示当前目录

完整的编译执行一下:

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

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













抱歉!评论已关闭.