JAVA和JAVAC 命令詳細(xì)介紹
JAVA和JAVAC 命令
javac和java命令行中的-classpath選項(xiàng)
這是個(gè)很基礎(chǔ)的問(wèn)題,但是因?yàn)榛旧隙际怯矛F(xiàn)有的IDE工具 來(lái)開發(fā)java程序,所以很少有人意識(shí)到這一點(diǎn)。
javac
-classpath,設(shè)定要搜索類的路徑,可以是目錄,jar文件,zip文件(里面都是class文件),會(huì)覆蓋掉所有在CLASSPATH里面的設(shè)定。
-sourcepath, 設(shè)定要搜索編譯所需java 文件的路徑,可以是目錄,jar文件,zip文件(里面都是java文件)。
所以一個(gè)完整的javac命令行應(yīng)該是這樣的,
假設(shè)abc.java在路徑c:\src里面,在任何的目錄的都可以執(zhí)行以下命令來(lái)編譯。
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里面的源文件不會(huì)有什么改動(dòng),目錄下的源文件,有可能會(huì)被重新編譯。
java
-classpath, 設(shè)定要搜索的類的路徑,可以是目錄,jar文件,zip文件(里面都是class文件),會(huì)覆蓋掉所有的CLASSPATH的設(shè)定。
由于所要執(zhí)行的類也是要搜索的類的一部分,所以一定要把這個(gè)類的路徑也放到-classpath的設(shè)置里面。
表現(xiàn)在,在要執(zhí)行的類的路徑里面執(zhí)行java時(shí),一定要添加上點(diǎn)號(hào)(.)標(biāo)示本目錄也要搜索。
假設(shè)abc.class在路徑c:\src里面
可以在任何路徑下執(zhí)行以下命令
java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;c:\src abc
問(wèn)題:如果main.class屬于c:\jar\abc.jar,并且在com.cnblogs.jeffchen這個(gè)包里,那么執(zhí)行java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;com.cnblogs.jeffchen.main即可, 但是如果classpath中包含多個(gè)jar包呢?并且其他jar包中也有com.cnblogs.jeffchen會(huì)發(fā)生什么情況?錯(cuò)誤?
在windows下,
文件路徑的分割符為反斜杠 \
類或者java文件列表的分割符為分號(hào) ;
在linux下
文件路徑的分隔符位斜杠 /
類或者java文件列表的分隔符為冒號(hào) :
一個(gè)linux下編譯和運(yùn)行的例子
/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
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Springboot Thymeleaf模板文件調(diào)用Java類靜態(tài)方法
這篇文章主要介紹了Springboot Thymeleaf模板文件調(diào)用Java類靜態(tài)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2007-09-09JavaWeb實(shí)現(xiàn)顯示mysql數(shù)據(jù)庫(kù)數(shù)據(jù)
MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的。本文將利用JavaWeb實(shí)現(xiàn)顯示mysql數(shù)據(jù)庫(kù)數(shù)據(jù)功能,需要的可以參考一下2022-03-03Java中新建一個(gè)文件、目錄及路徑操作實(shí)例
這篇文章主要給大家介紹了關(guān)于Java中新建一個(gè)文件、目錄及路徑操作的相關(guān)資料,新建文件、目錄及路徑是我們?nèi)粘i_發(fā)中經(jīng)常會(huì)遇到的一個(gè)需求,本文通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12使用feign發(fā)送http請(qǐng)求解析報(bào)錯(cuò)的問(wèn)題
這篇文章主要介紹了使用feign發(fā)送http請(qǐng)求解析報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03