『壹』 如何用eclipse打jar包
第一步:選中要打jar包的工程
第二步:滑鼠右擊,選擇Export...
第三步:選擇java中的Runnable JAR file 點擊「Next」
第四步:
(1)在Launch configuration:選擇要打jar包的mian所在的類名(如果在此處沒有發現main方法,請先運行一下該類);
(2)在Export destination:選擇要存放jar的名稱和地址
(3)如果要打的jar包需要調用別的jar包 請選擇Library handling:中Extract required libraries into generated JAR
第五步:點擊 「Finish」
『貳』 如何在eclipse中導出加入第三方jar的文件
<span style="margin:0px; padding:0px; >方案一:用Eclipse自帶的Export功能
步驟1:准備主清單文件 「MANIFEST.MF」,
由於是打包引用了第三方jar包的Java項目,故需要自定義配置文件MANIFEST.MF,在該項目下建立文件MANIFEST.MF,內容如下:
Manifest-Version: 1.0
Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar lib/commons-logging-1.1.jar lib/log4j-1.2.16.jar lib/jackson-all-1.8.5.jar
Main-Class: main.KillCheatFans
第一行是MAINIFEST的版本,第二行Class-Path就指定了外來jar包的位置,第三行指定我們要執行的MAIN java文件。
這里要注意幾點:
1、Class-Path: 和Main-Class: 後邊都有一個空格,必須加上,否則會打包失敗,錯誤提示為:Invalid header field;
2、假設我們的項目打包後為KillCheatFans.jar,那麼按照上面的定義,應該在 KillCheatFans.jar的同層目錄下建立一個lib文件夾(即lib文件和打包的jar文件
在同一個目錄下),並將相關的jar包放在裡面。否則將會出現「Exception in thread "main" java.lang.NoClassDefFoundError」的錯誤;
3、Main-Class後面是類的全地址,比如你的主文件是KillCheatFans.java,文件里打包為package com.main; 那麼這里就寫com.main.KillCheatFans,
不要加.java後綴,主文件地址寫錯將會出現「找不到或無法載入主類」的錯誤;
4、寫完Main-Class後一定要回車(即最後一行是空白行),讓游標到下一行,這樣你生成的jar包才能找到你的主class去運行,
否則將會出現「jar中沒有主清單屬性」的錯誤。
步驟2:右擊Java工程選擇Export—>選擇JAR file—>Next
步驟3:選擇要打包的文件,不需要的文件不必打包,減小打包後的jar文件大小,並進行選項配置如下
這里有幾個選項:
* Export generated class files and resources 表示只導出生成的.class文件和其他資源文件
* Export all output folders for checked projects 表示導出選中項目的所有文件夾
* Export java source file and resouces 表示導出的jar包中將包含你的源代碼*.java,如果你不想泄漏源代碼,那麼就不要選這項了
* Export refactorings for checked projects 把一些重構的信息文件也包含進去
步驟4:選擇我們在第一步中自定義的配置文件路徑,這一步很重要,不能採用默認選項
這里解釋一下配置項:
* Generate the manifest file:是系統幫我們自動生成MANIFEST.MF文件,如果你的項目沒有引用其他class-path,那可以選擇這一項。
* Use existing mainfest from workspace:這是可以選擇我們自定義的.MF文件,格式如上所寫,引用了第三方包時選用。
* Seal content:要封裝整個jar或者指定的包packet。
* Main class:這里可以選擇你的程序入口,將來打包出來的jar就是你這個入口類的執行結果。
最後Finish,即生成了我們要的jar文件。
運行該jar文件有兩種方式:
1. 在命令行下運行命令java -jar 你的jar文件名稱,比如我的執行如下:
如果在jar中有一些System.out.prinln語句(如上執行結果),運行後不想在控制台輸出而是保存在文件中方便以後查看,可以用一下命令:
java -jar KillCheatFans.jar > log.txt (這時命令行窗口不會有任何輸出)
輸出信息會被列印到log.txt中,當然log.txt自動生成,並位於和KillCheatFans.jar一個目錄中。
2. 新建一個批處理文件,如start.bat,內容為:java -jar KillCheatFans.jar,放在jar文件同一目錄下即可,以後點擊自動運行即可,更加方便。
方案二:安裝Eclipse打包插件Fat Jar
方案一對於含有較多第三方jar文件或含有第三方圖片資源等就顯得不合適,太繁瑣。這時可以使用一個打包的插件—Fat Jar。
Fat Jar Eclipse Plug-In是一個可以將Eclipse Java Project的所有資源打包進一個可執行jar文件的小工具,可以方便的完成各種打包任務,我們經常會來打jar包,但是eclipse自帶的打包jar似乎不太夠用,Fat Jar是eclipse的一個插件,特別是Fat Jar可以打成可執行Jar包,並且在圖片等其他資源、引用外包方面使用起來更方便。
安裝方法:
1. Eclipse在線更新方法
Help > Install New Software > Add,
name:Fat Jar
location:http://kurucz-grafika.de/fatjar
2. Eclipse插件手動安裝方法
將解壓出的plugins中的文件復制到eclipse安裝目錄中的plugins目錄下,然後重啟eclipse即可。
使用方法:
步驟1:右擊工程項目選擇Buile Fat Jar
步驟2:配置jar文件存放目錄,主Main文件等,如下圖
步驟3:選擇所要用到的第三方jar包
最後Finish,即生成了我們要的jar文件,十分方便。
『叄』 用Eclipse開發java項目製作完成後,如何打包,給出一個詳細的說明,謝謝啦。
步驟:
1.選中你要打包的項目
2.右鍵 選擇export
3.在彈出的畫面中選擇打包的類型,大多數都是達成jar包
4.下一步,讓你選擇將哪些程序打包進去
5.輸入打包後的名字。完成打包。
『肆』 eclipse 怎麼引入外部jar 並打包
步驟如下:
1、右鍵點擊你需要添加jar包的項目。
2、選擇「Properties」。
3、然後選擇對話框中的「Java Build Path」。
4、選擇「Libraries」選項卡,然後點擊右邊的「Add External JARS「,然後找到你的jar所存放的路徑,選擇需要添加的jar包。
5、點擊「OK」完成。
經過以上步驟即可添加好jar包。
注意:如果是添加系統所帶有的jar,在第4步的時候選擇「Add JARS」,其他步驟相同。
『伍』 eclipse下怎麼打包java代碼成jar到hadoop下運行
(1)首先將下載好的Hadoop源碼解壓,將解壓後頂級目錄和lib中的壓縮文件載入到你的工程中(他們包括了hadoop源碼和一些需要的第三方源碼),然後就可以編寫hadoop程序了。
(2)編寫好hadoop程序,調試沒有錯誤後,就可以通過(jar -cvf yourname.jar -C bin/ .),將工程中bin目錄下編譯好的.class文件打包成你想要的.jar壓縮文件包。
(3)將yourname.jar壓縮包復制到你的hadoop目錄下,通過命令hadoop jar yourname.jar yourMainClass /data/inputfile /data/outputfile。如果是在完全分布式的hadoop配置環境下,需要通過hadoop命令在hadoop的hdfs系統中創建文件目錄然後將本地的輸入數據復制到hdfs系統中,命令有:
hadoop fs -mkdir data:創建一個名問data的文件夾
hadoop fs -ls :查看hdfs文件系統中的文件目錄
hadoop fs -FromLocal /data/input /user/data :將本地文件input復制到hdfs系統的/user/data目錄下
hadoop fs -ToLocal /user/data/output/ /data/ :將hdfs系統中的output文件夾復制到本地系統中。
『陸』 eclipse中怎樣將項目打包成jar
由於他的源代碼中使用了不少第三方的lib,因此有必要將lib也一並打包進去。他用Eclipse的Export功能直接打包到.jar文件,第三方lib是打包進來了,可是使用的時候還是提示找不到相應的包。
其實,為了自己的便利將別人發布的lib打包進自己project的包中不是一種合適的做法。這樣做之前務必要檢查一下對方的license,但不管是不是將對方的lib包括進來,既然自己的代碼用到了,為了讓它們正常工作,指明哪些包在那是必不可少的。師弟其實需要一個MANIFEST.MF文件,利用Eclipse生成jar文件的時候,請不要讓其自動生成MANIFEST.MF,而是應當由你自己寫好一個MANIFEST.MF,然後告訴 Eclipse:請使用這個文件。想了解細節,請閱讀SUN的這篇規范(VIA),或者是IBM網站上的這篇JAR文件揭秘,偶這里就不多寫了。
另外,Eclipse其實還有一個輸出到可執行jar的功能,該功能能夠幫你編寫合適的MANIFEST.MF文件,幫你將你引用的第三方lib一並打包(注意license哦)。
第一:普通類導出jar包,我說的普通類就是指此類包含main方法,並且沒有用到別的jar包。
1.在eclipse中選擇你要導出的類或者package,右擊,選擇Export子選項;
2.在彈出的對話框中,選擇java文件---選擇JAR file,單擊next;
3.在JAR file後面的文本框中選擇你要生成的jar包的位置以及名字,注意在Export generated class files and resources和Export java source files and resources前面打上勾,單擊next;
4.單擊兩次next按鈕,到達JAR Manifest Specification。注意在最底下的Main class後面的文本框中選擇你的jar包的入口類。單擊Finish,完成。
你可以在dos環境下,進入你的jar所在的目錄,運行 java -jar 名字.jar,檢測運行是否正確。
第二、你所要導出的類里邊用到了別的jar包。比如說你寫的類連接了資料庫,用到資料庫驅動包oracl.jar.。
1.先把你要導出的類按照上面的步驟導出形成jar包,比如叫test.jar
2.新建一個文件夾main,比如在D盤根目錄下;
3.把test.jar和oracl.jar拷貝到main文件下,右擊test.jar,解壓到當前文件夾。把META-INF\MANIFEST.MF剪切到另外一個地方 (比如是桌面!) ;
4.右擊oracl.jar,解壓到當前文件夾。
5.在dos環境下,進入到D盤的main文件夾下,執行 jar cvfm new.jar meta-inf/manifest.mf .,不要忘了最後面的點。
6.用壓縮工具打開你新生成的new.jar,用你放在桌面的META-INF\MANIFEST.MF覆蓋new.jar原有。
你可以在dos環境下,進入你的jar所在的目錄,運行 java -jar 名字.jar,檢測運行是否正確。
關於 MANIFEST.MF 寫法.
例如我們打包的jar為 Test.jar
Manifest-Version: 1.0
Main-Class: windows.VideoWindow
Class-Path: lib\org.eclipse.swt_3.3.0.v3346.jar lib\org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar
上面為打包為jar中的包說明文件. 下面這個報錯一直出現.
could not find main class. Program will exit
這個錯誤提示其實不是沒有發現main class. 而是jar如果有錯誤執行不了,就會出現這個錯誤. 打包完成後, 要先運行 cmd -> java -jar your.jar 確認沒有問題即可執行jar. 使用-jar參數後, 系統的Classpath 變數不再起作用. 虛擬機將去MANIFEST.MF中的Class-Path 下找相關的包.
然後才能成功的從: windows.VideoWindow 的main方法進入. 否則沒有相關連接包,則會提示找不到main class. 而大家可能還迷糊的找不到北. 明明有main class嗎.
如果這個寫的不對. 則就會一直報錯.
看看上面這個Class-Path: 後面的寫法. 空格分開. 絕對不能有分號.切記.
最後必須有換行. 這個也是要注意的. 否則依然提示沒有mainclass.
不要因為這個小事情耽誤了時間. 其中 lib/ 表示這個jar必須在打包Test.jar所在目錄的一個lib子目錄中.
運行jar需要命令: java -jar Test.jar
雙擊也可以, 則使用 javaw 打開.
關於java -classpath a.jar;b.jar; class test.Test 執行時. a.jar;b.jar; 後面都必須有分號. 否則報錯. 不要指望不寫classpath讓系統自己找. 這不是在eclipse裡面.必須寫上你要使用的類. 否則總會提示您編譯出錯.