簡體   English   中英

如何編輯從 .jar 文件導入到 Eclipse 中的 .java 文件

[英]How to edit .java files imported in Eclipse from a .jar file

我有一個問題,也許已經有人回答了,但我沒有找到它,如果解決方案已經存在,我深表歉意(在刪除我的線程之前告訴我它是否存在)。

問題是:我在另一台 PC 上創建了一個程序,並將其從 Eclipse 導出為 .jar 文件。 當我雙擊它時,它可以在我的主 PC 上運行,但是當我在 Eclipse 中導入它時,我找不到 .java 文件。 所以我無法編輯它。

到目前為止我做了什么:

  1. 在 Eclipse 中,我創建了一個新的空項目
  2. 我已經右鍵單擊,導入,存檔文件,選擇了 eclipse 看到的 .class 文件,但是當我在 Eclipse 的項目資源管理器中時,我找不到主要所在的 .java 文件。 我的意思是我可以單擊作為程序運行並且它可以工作,但是沒有 .java 文件,只有 .class 文件。 我究竟做錯了什么?

在此處輸入圖片說明

那個cranes.class 應該是cranes.java。 至少在我的另一台 PC 上是這樣。 程序運行良好,但我無法在主 PC 上編輯它。 我究竟做錯了什么?

謝謝和最好的問候

這與您使用其他庫的方式類似。 您依賴於包含 Java 代碼的類字節碼(已編譯)的Jar文件。 不能直接在使用它的項目中編輯任何此類文件。 認為您始終可以使用簡單的繼承概念擴展當前項目中的功能。

如果您認為這些功能是微不足道的,您應該更喜歡在原始項目中進行更改,重新構建 jar 並使用較新版本的 jar。

但是,如果您對3rd 方庫有類似的感覺,您可以在從這些庫代碼(如果是開源的)分叉之后進行更改,並構建和使用您自己的版本,或者如果您對自己的更改有信心,則可以繼續提出拉取請求

您需要在創建jar文件時選擇Export Java source files and resources選項,然后您的 Java 文件將在從jar文件導入項目時可用。

在此處輸入圖片說明

大多數情況下,當你構建一個 jar 文件時,里面只有 .class 文件; 這些是編譯 .java 文件的結果,因此無法使用文本編輯器進行編輯。

您可以創建一個包含 .java(也稱為源)文件的 jar 文件,甚至一個包含 .java 和 .class 文件的 jar 文件,但是如果您要求 eclipse 創建一個 jar 文件,默認情況下它只是去將 .class 文件和資源文件夾中的文件放入其中,而不是 .java 文件。

從問題中假設,jar 是由 OP 創建的庫,通過將 java 文件編譯為類文件並打包/導出它們。 雖然無法在任何IDE 中編輯類文件,但可以使用第三方應用程序將它們反編譯為Java 文件。

我個人使用的IntelliJ的文件,作者:我這個反編譯源

注意:雖然這為 OP 提供了所需的功能,但如果類受版權保護,則可能會導致違規。

正如 IntelliJ 所說,他們既不鼓勵也不鼓勵反編譯類文件,決定完全由用戶自行決定。

編輯:始終建議使用原始源文件進行編輯。 嘗試將它們托管在 git 上,以便可以在需要時隨時檢索

在一台計算機上不使用 eclipse 而使用 jar/zip/tar 您的項目目錄並簡單地將其解壓縮到另一台計算機上可能更簡單,然后在 Eclipse 中將該文件夾作為新項目打開。

最好的是來自@SanjayBharathi 的建議,即使用 git 並在您的另一台機器上克隆 repo。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM