[問題] jar打包問題

看板java作者 (cat)時間13年前 (2011/07/12 09:55), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
新手幾個詢問,已爬文.. :( 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

07/12 12:58, , 1F
我覺的是compiler讀你的檔案用Big5,但你的檔案編碼是
07/12 12:58, 1F

07/12 12:59, , 2F
utf-8
07/12 12:59, 2F

07/12 20:51, , 3F
第一個問題大概是 Manifest 裡面的 classpath 變數沒設好
07/12 20:51, 3F

07/12 20:54, , 4F
至於2跟3,javac 有一個 -encoding 參數可以指定來源檔編碼
07/12 20:54, 4F
文章代碼(AID): #1E6wcida (java)