作者FATCLOUD (A Cloud)
看板java
標題Re: [問題] 如何編譯開放源碼程式庫
時間Mon Jul 5 12:54:51 2010
※ 引述《xlk (深深)》之銘言:
: ※ 引述《FATCLOUD (A Cloud)》之銘言:
: : 我下載了 binary with dependency (不知這是甚麼意思)的 4.0.1.zip 檔案
: : 打開來以後發現了 lib, example 和 tutorial 三個資料夾
: dependacy指有附帶其它引用的library jars放在lib目錄裡
感謝! 這樣我就瞭解了!
: : 而有一些 .jar 檔案在 lib 資料夾裡面
: : 而範例 .java 檔案則放在 example 資料夾底下很深層的資料夾裡
: : (每層都只有一個資料夾...)
: 使用package的java file都會放在對應的目錄中
: 編譯時要注意路徑
: : 小弟的問題是要怎麼編譯測試這些 example 資料夾裡的範例檔呢?
: : 需要把 .jar 解壓縮嗎?
: : 我對 classpath 和 path 以及 jar 都有一些了解了 (讀良葛格學習筆記學的)
: 你動手的結果呢?
因為原本想到的方法都過度愚蠢 (把 .jar 解開然後把原始碼移到裡面去之類的)
所以就沒有貼出來
愚蠢的方法試個一兩下沒成功
也就沒毅力再多試了~
: cd <httpclient>
: mkdir build
: javac -cp 'lib/*' -d build examples/org/apache/http/examples/conn/*.java
感謝回答~~
其實今天起床後上板來找了這條指令回去打
結果還是動不了
後來發現原來是因為 -cp 的語法不同
(不知 x 版友提供的是否為 linux 環境的語法? 或者只是JDK版本不同...)
我在 windows 底下開 cmd 來編譯
-cp 後面的路徑不加單引號 ''
而且 * 似乎也無法使用
只能一條一條路徑寫好用分號分開
最後試出來編譯 client 資料夾的指令是:
javac -cp lib\httpclient-4.0.1.jar;lib\httpcore-4.0.1.jar -d build
examples/org/apache/http/examples/client/*.java
感謝 xlk 板友的熱心回答!
小弟長知識矣
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.218.149
※ 編輯: FATCLOUD 來自: 140.112.218.149 (07/05 12:55)
→ xlk:Windows要改用雙引號@@a 用IDE你的生活會更好XD 07/05 13:13
→ FATCLOUD:用雙引號真的可以耶...不過我又遇到問題了QQ 07/05 15:45
→ FATCLOUD:我執行不了它...不知道出甚麼問題.. 還在試驗中.. 07/05 16:00
→ FATCLOUD:我切到了 build 目錄底下使用這個指令: 07/05 16:01
→ FATCLOUD:java org.apache.http.examples.client.ClientAbortMetho 07/05 16:04
→ FATCLOUD:d 然後他出錯跟我說找不到這個 class 實在快瘋了 囧 07/05 16:08
→ xlk:java -cp "lib/*;build" <class> 07/06 00:06
→ FATCLOUD:用樓上的指令就可以了~~~ 07/06 14:11