當前位置:才華齋>IT認證>JAVA認證>

JAVA和JAVAC命令列大全

JAVA認證 閱讀(1.33W)

JAVA和JAVAC命令列有哪些呢?下文yjbys為大家分享最全JAVA和JAVAC命令列,希望對同學們學習java程式有所幫助!

JAVA和JAVAC命令列大全

  javac和java命令列中的-classpath選項

這是個很基礎的問題,但是因為基本上都是用現有的IDE工具 來開發java程式,所以很少有人意識到這一點。

  javac

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

-sourcepath, 設定要搜尋編譯所需java 檔案的路徑,可以是目錄,jar檔案,zip檔案(裡面都是java檔案)。

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

假設在路徑c:src裡面,在任何的目錄的都可以執行以下命令來編譯。

javac -classpath c:classes;c:jar;c:zip -sourcepath c:sourceproject1src;c:sourceproject2 lib;c:sourceproject3lib c:src

表示編譯需要c:classed下面的class檔案,c:jar裡面的class檔案,c:zip裡面的class檔案

還需要c:sourceproject1src下面的原始檔,c:sourceproject2 lib裡面的原始檔,c:sourceproject3lib裡面的原始檔,

注意:jar,zip裡面的原始檔不會有什麼改動,目錄下的原始檔,有可能會被重新編譯。

  java

-classpath, 設定要搜尋的類的路徑,可以是目錄,jar檔案,zip檔案(裡面都是class檔案),會覆蓋掉所有的'CLASSPATH的設定。

由於所要執行的類也是要搜尋的類的一部分,所以一定要把這個類的路徑也放到-classpath的設定裡面。

表現在,在要執行的類的路徑裡面執行java時,一定要新增上點號(.)標示本目錄也要搜尋。

假設s在路徑c:src裡面

  可以在任何路徑下執行以下命令

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

問題:如果s屬於c:jar,並且在chen這個包裡,那麼執行java -classpath c:classes;c:jar;c:zip;即可, 但是如果classpath中包含多個jar包呢?並且其他jar包中也有chen會發生什麼情況?錯誤?

  在windows下,

檔案路徑的分割符為反斜槓

類或者java檔案列表的分割符為分號 ;

  在linux下

檔案路徑的分隔符位斜槓 /

類或者java檔案列表的分隔符為冒號 :

  一個linux下編譯和執行的例子

/usr/local/java/bin/javac -classpath /tmp/javatest/lib/ -d /tmp/javatest/bin/ /tmp/javatest/src/jp/co/realseed/

/usr/local/java/bin/java -classpath /tmp/javatest/lib/:/tmp/javatest/bin/ bility