如何將.jar
轉換爲.war
文件格式。基本上我想要讀file.jar
。但是當我在eclipse中導入時,它顯然會導入爲.class
文件。我想閱讀.java
格式並閱讀代碼。將.jar轉換爲.war
請幫忙
如何將.jar
轉換爲.war
文件格式。基本上我想要讀file.jar
。但是當我在eclipse中導入時,它顯然會導入爲.class
文件。我想閱讀.java
格式並閱讀代碼。將.jar轉換爲.war
請幫忙
請記住.jar和.war是不同的文件格式。儘管它們是一組壓縮文件,但戰爭文件有一個standard organization structure。作爲一個jar文件,簡單地說就是一個標準的壓縮檔案文件,通常用作打包的二進制檔案。你試圖做的事情很難實現,並且沒有直接的方法來做到這一點。你必須手動完成。
正如@Santosh所說,war和jar是相同的壓縮(所以你可以將它重命名爲jar並使用jar -x來解壓縮它),但內部組織是不同的。在我看來,像你只是想撈出java文件,解壓縮這樣就夠了......
mv file.war file.jar
jar xf file.jar
如果你正在嘗試轉換jar
爲war
的原因僅僅是因爲你希望能夠要查看jar
中類的源代碼,然後嘗試將其轉換爲war
不是正確的做法。
一個Java jar
(Java ARchive)文件就像一個壓縮文件,一個可以包含其他文件的壓縮文件。通常它將包含class
文件(編譯的Java類)。 A war
(Web ARchive)與jar
文件相同,但具有特定的指定目錄結構,使其適合在Java EE應用程序服務器上部署。將jar
文件轉換爲war
文件不會自動使您能夠在Eclipse中查看類的源代碼。
要在Eclipse中查看源代碼,您需要分別下載這些源代碼。對於許多開源項目,您可以在單獨的jar
中獲得源代碼。例如,對於圖書館somelib.jar
,您可能會在找到圖書館的網站上找到somelib-sources.jar
或類似的東西。
然後,在Eclipse中,右鍵單擊附加到您的項目作爲一個依賴的jar
文件,並從彈出菜單中選擇屬性。然後轉到「Java源附件」。輸入...-sources.jar
的位置或包含源代碼的目錄,然後單擊確定。
您的陳述意味着您的file.jar
不包含Java代碼。
在這裏,我建議你。
迥異.jar
和.war
文件格式。它已經在上一個答案。
如果您想從file.jar
中讀取代碼,實際上您可以先反編譯它。有很多易於使用的Java反編譯器。我建議你爲此使用JD。
.jar是否包含.java源代碼文件?如果是這樣,Eclipse應該給你看。您可以通過解壓縮來打開jar文件進行檢查。如果沒有,那麼沒有消息來源......這和.war有什麼關係? – Thilo
如果你的源代碼是開源的,或者使用反編譯器,你可以從網上下載源代碼。 – aishwarya
您的問題的第一句和第二句表明您可能對「war」文件的錯誤概念。將'jar'轉換爲'war'不會幫助您查看類的源代碼。 – Jesper