Re: [問題] 如何編譯開放源碼程式庫

看板java作者 (A Cloud)時間14年前 (2010/07/05 12:54), 編輯推噓0(009)
留言9則, 2人參與, 最新討論串3/3 (看更多)
※ 引述《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)

07/05 13:13, , 1F
Windows要改用雙引號@@a 用IDE你的生活會更好XD
07/05 13:13, 1F

07/05 13:18, , 2F
07/05 13:18, 2F

07/05 15:45, , 3F
用雙引號真的可以耶...不過我又遇到問題了QQ
07/05 15:45, 3F

07/05 16:00, , 4F
我執行不了它...不知道出甚麼問題.. 還在試驗中..
07/05 16:00, 4F

07/05 16:01, , 5F
我切到了 build 目錄底下使用這個指令:
07/05 16:01, 5F

07/05 16:04, , 6F
java org.apache.http.examples.client.ClientAbortMetho
07/05 16:04, 6F

07/05 16:08, , 7F
d 然後他出錯跟我說找不到這個 class 實在快瘋了 囧
07/05 16:08, 7F

07/06 00:06, , 8F
java -cp "lib/*;build" <class>
07/06 00:06, 8F

07/06 14:11, , 9F
用樓上的指令就可以了~~~
07/06 14:11, 9F
文章代碼(AID): #1CCMMTq- (java)
文章代碼(AID): #1CCMMTq- (java)