Jar包修改並重新打包(完整版攻略)

       jar包中的代碼在myeclipse中只能進行查看,並不能進行修改。

一、修改或者查看jar包中的內容

       查看:可以使用解壓縮軟件直接查看

       修改:直接將文件名的後綴名改爲xxx.zip,或者使用解壓縮軟件解壓縮以後進行修改。

                  如果jar包中不含源代碼,可以使用相關的反編譯軟件將.class文件反編譯回.java文件(但是反編譯的結果會有一定的偏差)。

                 有源代碼的前提下,對源代碼進行相應修改以後,要編譯成.class文件,jar包中主要應該存放的是 .class文件, .java源文件只是方便使用者查看了解使用方法。

 

二、將 .java文件編譯成 .class文件時遇到的問題

       我使用的是最原始的方法,在cmd中使用javac命令進行編譯。(好像也可以使用eclipse來對java文件進行運行,然後會在某個文件夾中生成對應的.class文件)

       首先,cmd的相關命令:進入到對應的文件夾下,(cd .. 表示返回上一級目錄    cd  xxx 表示進入下一級的某個目錄) 

                                    

        然後當編譯一個Java文件需要引用另一個class文件,即本java文件需要引用到別的自己寫的類時,先將前一個類編譯好,再編譯本類。(如果彼此之間有相互引用並且正好在一個目錄下時,可以在該目錄下,直接將兩個一起同時編譯了)

        如果java文件有需要引入外部別的jar包時,需要用到-cp命令:

               加載單個jar包。需要下載用到的jar包,並引入目錄。

                  javac -cp C:\Users\whr-pc\Desktop\classpath\img\json-lib-2.4-jdk15.jar   Json.java

               加載多個jar包,中間用 ;隔開。

                  javac -cp C:\Users\whr-pc\Desktop\classpath\img\json-lib-2.4-jdk15.jar;jdom-1.0.jar;spring-json-1.3.1.jar  Json.java

          當編譯時出現編碼GBK的不可映射字符的報錯時,說明源代碼裏的中文出現了編碼錯誤,可以將源代碼使用notepad++(一種高級記事本)打開,點擊上方菜單欄的編碼,選擇將編碼轉化爲ANSI,然後再進行編譯,編譯就會通過。

          注意,全部.java文件編譯好以後,一定要再使用notepad++用類似的操作,將編碼再轉回UTF-8,這樣在myeclipse中查看相關java源代碼文件的時候,中文才不會變成亂碼影響閱讀。

          同時注意,如果改動了java文件的相關層級結構,在java文件的首句package cn/...  應該進行對應改動,不是從jar包的名字開始,而是從jar包的下一個層級開始。後期加入到myeclipse中,其它引用了這個jar包的也用對包進行同樣的更改。

 

三、對修改好以後的文件打成jar包

       同樣通過cmd到指定目錄下,然後使用jar命令  jar -cvf [jar包的名字] [需要打包的文件]         例如jar -cvf my.jar com

          

       然後會生成一個名爲my.jar的jar包,在其中會比之前沒有打包成jar包時多一個文件夾,並且這個文件夾一定要在jar包的第一層目錄下,不能移動到別的再下層目錄中,否則導包的時候就會出現,導包能順利進行,但是讀不出來jar包裏面的具體內容。

       將整個jar包放在項目對應的WebRoot\WEB-INF\lib,然後在myeclipse中的相應文件夾下右鍵選擇refresh進行刷新,比上方的刷新圖標要快且管用。接着在項目下對應的處右鍵選擇build path,然後configure buildpath,libraries選項卡右側選擇add jars,將相關的jar包選中加入,然後就完成啦!

  1.  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章