作者catjimmy (cat)
看板java
標題[問題] jar打包問題
時間Tue Jul 12 09:55:53 2011
新手幾個詢問,已爬文.. :(
1.我有一支寫好的java小程式,想要打包成可執行檔後在其他平台(win/UBUNTU)上跑看看
本身使用Mac + Vim作為開發環境,因此compile跟jar打包都是在cmd環境下執行的...
我在打包jar前 有加入Manifest.mf檔案並指定了Main Class,該留空白的地方也沒少
使用 jar cvmf Manifest.mf Transformer.jar -C *.class 指令打包
有成功產生一個jar檔案,但是產生中出現亂碼訊息讓我不太了解
Filter.class/Frame$1.class?J?S???o???Υ?
?s?W manifest
?s?W?JFrame$ButtonHandler.class (=3627)(?g=1896)(??Y 47%)
?s?W?JFrame$CheckBoxHandler.class (=540)(?g=350)(??Y 35%)
?s?W?JFrame.class (=3872)(?g=1845)(??Y 52%)
?s?W?JReadFile.class (=5745)(?g=2904)(??Y 49%)
?s?W?JTransformer.class (=532)(?g=384)(??Y 27%)
然後在我直接執行jar檔案的時候,就跳出無法啟動的錯誤,在cmd下執行
java -jar Transformer.jar
會出現Exception in thread "main" java.lang.NoClassDefFoundError: Filter
雖然我看得出來他找不到Filter這個class,但我不了解是哪邊錯誤,因為我自己在編譯
執行的時候他都好好的說Orz。
2.當我程式中如果有中文時,都會編譯錯誤產生
warning: unmappable character for encoding Big5
但我看我的文件都是UTF-8的編碼,這訊息是指說我的Java編譯中文是使用big5嗎?
3.在我另一個環境UBUNTU上的Java compile時都會出現
Picked up_JAVA_OPTIONS: -Dfile.encoding=Big5的訊息但不影響編譯
請問這個是什麼樣的問題且我必須去哪邊來修改呢?
以上是一些我爬文過且google過不求甚解的問題,麻煩請教:)
另外在
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.169.129
→ calais007:我覺的是compiler讀你的檔案用Big5,但你的檔案編碼是 07/12 12:58
→ calais007:utf-8 07/12 12:59
→ uziel:第一個問題大概是 Manifest 裡面的 classpath 變數沒設好 07/12 20:51
→ uziel:至於2跟3,javac 有一個 -encoding 參數可以指定來源檔編碼 07/12 20:54