[英]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.