學習啦>知識大全>知識百科>百科知識>

java與javac的區(qū)別

時間: 映芳735 分享

  學過Java的都知道javac,它是Java語言的編譯器,那么,這兩者有什么具體的區(qū)別呢?下面學習啦小編給大家介紹一下Java和javac的區(qū)別。

  Java是一種可以撰寫跨平臺應用軟件的面向?qū)ο蟮某绦蛟O計語言。

  javac工具讀由java語言編寫的類和接口的定義,并將它們編譯成字節(jié)代碼的class文件。javac 可以隱式編譯一些沒有在命令行中提及的源文件。用 -verbose 選項可跟蹤自動編譯。

  java與javac的-classpath命令的區(qū)別

  1.java

  -classpath, 設定要搜索的類的路徑,可以是目錄,jar文件,zip文件(里面都是class文件),會覆蓋掉所有的CLASSPATH的設定。

  由于所要執(zhí)行的類也是要搜索的類的一部分,所以一定要把這個類的路徑也放到-classpath的設置里面。

  表現(xiàn)在,在要執(zhí)行的類的路徑里面執(zhí)行java時,一定要添加上點號(.)標示本目錄也要搜索。

  假設abc.class在路徑c:\src里面

  可以在任何路徑下執(zhí)行以下命令

  java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;c:\src abc

  2.javac

  -classpath,設定要搜索類的路徑,可以是目錄,jar文件,zip文件(里面都是class文件),會覆蓋掉所有在CLASSPATH里面的設定。

  -sourcepath, 設定要搜索編譯所需java 文件的路徑,可以是目錄,jar文件,zip文件(里面都是java文件)。

  所以一個完整的javac命令行應該是這樣的,

  假設abc.java在路徑c:\src里面,在任何的目錄的都可以執(zhí)行以下命令來編譯。

  javac -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip -sourcepath c:\source\project1\src;c:\source\project2 \lib\src.jar;c:\source\project3\lib\src.zip c:\src\abc.java

  表示編譯需要c:\classed下面的class文件,c:\jar\abc.jar里面的class文件,c:\zip\abc.zip里面的class文件

  還需要c:\source\project1\src下面的源文件,c:\source\project2 \lib\src.jar里面的源文件,c:\source\project3\lib\src.zip里面的源文件,

  注意:jar,zip里面的源文件不會有什么改動,目錄下的源文件,有可能會被重新編譯。

  javac遇到的編譯問題

  如果main.class屬于c:\jar\abc.jar,并且在com.cnblogs.jeffchen這個包里,那么執(zhí)行java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;com.cnblogs.jeffchen.main即可, 但是如果classpath中包含多個jar包呢?并且其他jar包中也有com.cnblogs.jeffchen會發(fā)生什么情況?

  在windows下,文件路徑的分割符為反斜杠 \ 類或者java文件列表的分割符為分號 ;

  在linux下文件路徑的分隔符位斜杠 /類或者java文件列表的分隔符為冒號 :

  下面小編列舉一個在linux下編譯和運行的例子

  /usr/local/java/bin/javac -classpath /tmp/javatest/lib/mail-1.3.3.jar -d /tmp/javatest/bin/ /tmp/javatest/src/jp/co/realseed/Capability.java

  /usr/local/java/bin/java -classpath /tmp/javatest/lib/mail-1.3.3.jar:/tmp/javatest/bin/ jp.co.realseed.Capability

java與javac的區(qū)別

學過Java的都知道javac,它是Java語言的編譯器,那么,這兩者有什么具體的區(qū)別呢?下面學習啦小編給大家介紹一下Java和javac的區(qū)別。 Java是一種可以撰寫跨平臺應用軟件的面向?qū)ο蟮某绦蛟O計語言。 javac工具讀由java語言編寫的類和接口
推薦度:
點擊下載文檔文檔為doc格式
536663