![](/img/trans.png)
[英]How to create a jar file from an eclipse java project that uses *.jar files added in “Classpath”
[英]How to edit .java files imported in Eclipse from a .jar file
我有一個問題,也許已經有人回答了,但我沒有找到它,如果解決方案已經存在,我深表歉意(在刪除我的線程之前告訴我它是否存在)。
問題是:我在另一台 PC 上創建了一個程序,並將其從 Eclipse 導出為 .jar 文件。 當我雙擊它時,它可以在我的主 PC 上運行,但是當我在 Eclipse 中導入它時,我找不到 .java 文件。 所以我無法編輯它。
到目前為止我做了什么:
那個cranes.class 應該是cranes.java。 至少在我的另一台 PC 上是這樣。 程序運行良好,但我無法在主 PC 上編輯它。 我究竟做錯了什么?
謝謝和最好的問候
這與您使用其他庫的方式類似。 您依賴於包含 Java 代碼的類字節碼(已編譯)的Jar文件。 您不能直接在使用它的項目中編輯任何此類文件。 認為您始終可以使用簡單的繼承概念擴展當前項目中的功能。
如果您認為這些功能是微不足道的,您應該更喜歡在原始項目中進行更改,重新構建 jar 並使用較新版本的 jar。
但是,如果您對3rd 方庫有類似的感覺,您可以在從這些庫源代碼(如果是開源的)分叉之后進行更改,並構建和使用您自己的版本,或者如果您對自己的更改有信心,則可以繼續提出拉取請求。
大多數情況下,當你構建一個 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.