簡體   English   中英

Eclipse JAR創建與cmd行JAR創建

[英]Eclipse JAR creation vs. cmd line JAR creation

我試圖通過cmd行創建一個JAR文件,但是相對於使用Eclipse創建的JAR文件編譯它時遇到了麻煩。

要使用命令行版本,請執行以下操作:

jar cf "myjar.jar" A.java B.java C.java

在我運行該命令的目錄中,只存在三個文件。

當我從Eclipse構建它時,我右鍵單擊三個選定的文件。 然后執行:導出 - > JAR文件 - >完成(壓縮JAR的內容)。

尺寸差異非常明顯,19 KB(cmd)與43 KB(Eclipse)。 當我嘗試使用命令行創建JAR時,我的應用程序失敗。 我的猜測是創建的命令行JAR不包含所有必需的依賴項(在三個類之外)。

對我所做錯的任何幫助都將不勝感激!

當您嘗試時,JDK的工具JAR只是一個ZIP壓縮器:

jar cf "myjar.jar" A.java B.java C.java

你真的在創建一個帶有3個java源代碼的zip,你沒有編譯代碼。

你必須這樣做:

javac *.java
jar cf "myjar.jar" *.class

當您使用Eclipse生成它時,IDE假定您希望編譯並將生成的類文件打包到JAR中。 此外,還生成了一個MANIFEST.MF,它可以與命令行和Eclipse不同

編輯:如果要執行具有多個JAR的應用程序,請檢查: 在java類路徑中設置多個jar

你編譯.java文件了嗎?

構建.jar文件時,必須包含.class文件,這些文件是已編譯的java文件。

有關構建jar文件的信息,請參閱文檔: https//docs.oracle.com/javase/tutorial/deployment/jar/build.html

Eclipse將在后台編譯源代碼,並在jar文件中包含已編譯的版本。 Eclipse還提供了一個選項,可以包含可以改變文件大小的源代碼。

暫無
暫無

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

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