JavaWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JavaWorld@TW » Java 技巧文件 » 翻譯文件  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to topicthreaded modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Fat Jar Eclipse Plug-In Tutorial (翻譯文件)
UndeadJ

JGoodies



發文: 349
積分: 3
於 2005-06-12 17:50 user profilesend a private message to usersend email to UndeadJreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Step 1: 建立一個Java專案,名稱叫做"demolib"
加入一個類別,名稱叫做"demolib.DemoLib.java",並且包含下列程式碼
1
2
3
4
5
6
7
package demolib;
 
public class DemoLib {
    public static void sayHello() {
        System.out.println("Hello");
    }
}


這個專案應該看起來像是這樣子...



Step 2: 使用Fat Jar Plug-In建立一個Jar檔案

"Package-Explorer" (非 "Resource-View") 的"demolib"專案上點選右鍵.
選擇"Fat Jar > Quick Build Fat Jar"


接著會出現一個組態設定的對話方塊,直接按下"Finish"


"demolib_fat.jar"會被建立在專案根目錄.



Step 3: 建立一個新的Java專案,名稱叫做"demorun"

建立一個新的Java專案,名稱叫做"demorun",接著在專案性質(properties)中加入"demolib/demolib_fat.jar"類別庫到"Java Build Path"



Step 4: 建立主類別

增加一個類別,名稱叫做"demorun.DemoRunMain.java",並且加入下列程式碼:
1
2
3
4
5
6
7
8
9
package demorun;
 
import demolib.DemoLib;
 
public class DemoRunMain {
    public static void main(String[] args) {
        DemoLib.sayHello();
    }
}


這個專案應該看起來像是這樣子...



Step 5: 啟動建立Fat Jar對話方塊
從檔案選單中啟動 Export Wizard ("File" -> "Export")
選擇"+ Fat Jar Exporter" 並且點選 "next >"



選擇"demorun"專案並且點選"next >"



一個組態對話方塊出現,說明目前的設定.



Step 6: 選擇主類別
主類別一定要被定義在Jar之中,且必須包含一個靜態方法(static methode) - main

按下Main-Class欄位右邊的"Browse..."


選擇"DemoRunMain"並按下"OK"
現在"Main-Class"的完全名稱是"demorun.DemoRunMain"

Step 7:最後
透過按下"Finish"按鈕儲存目前設定


檔案 - "demorun_fat.jar" 會被建立在專案根目錄
另外,儲存組態設定的檔案 - ".fatjar" 會被建立在專案根目錄

這個檔案可以在任何地方執行,不用設定classpath,因為所有必要的類別庫都在"Fat Jar"裡面了.

1
2
 java -jar deomrun_fat.jar
Hello


資料來源

--
P.S 目前新版已有內建 Fat Jar


vote up 0 vote down
UndeadJ edited on 2009-05-22 18:48
reply to postreply to post
我們是懷抱各自的夢想,買了車票的乘客,不過就像列車一定會有終點,人生有時會碰到必須換車的時候...

我們站在名為「今天」的車站,在名為「昨天」的列車下車,轉搭為「明天」的列車

不過,若沒及時搭上的話....
作者 Re:Fat Jar Eclipse Plug-In Tutorial (翻譯文件) [Re:UndeadJ]
ming500





發文: 22
積分: 0
於 2005-10-16 13:24 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
挺好

vote up 0 vote down
reply to postreply to post
作者 Re:Fat Jar Eclipse Plug-In Tutorial (翻譯文件) [Re:UndeadJ]
billqq





發文: 17
積分: 0
於 2007-07-28 20:36 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
但是我包的JAR檔,要在程式裡的資料夾才能執行。
我把它剪下到桌面,就不能執行了。

我程式import許多jar檔案
1
2
3
4
5
6
7
8
9
10
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
import com.l2fprod.gui.plaf.skin.Skin;
import com.l2fprod.gui.plaf.skin.SkinLookAndFeel;
 
import javax.swing.*;
import javax.swing.table.*;


之後用FAT JAR 包成 xxxxxxxxxxxx.jar

再利用匯出使用FAT JAR Exporter
1.設定main-class
2.將包好的FAT JAR的資源檔,以及程式碼全部都給他打勾。
3.按下完成。

在放程式的資料夾裡面都可以執行,複製到外面就不行執行了。
請位各位大大是什麼原因呀?

我用DOS去執行的錯誤訊息是:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
java.io.FileNotFoundException: D:\lnflib\skinlf-6.7\lib\themepack.zip (系統找不
到指定的路徑。)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(Unknown Source)
        at java.io.FileInputStream.<init>(Unknown Source)
        at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
        at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown So
urce)
        at java.net.URL.openStream(Unknown Source)
        at com.l2fprod.gui.plaf.skin.SkinLookAndFeel.loadThemePack(SkinLookAndFe
el.java:963)
        at com.l2fprod.gui.plaf.skin.SkinLookAndFeel.loadThemePack(SkinLookAndFe
el.java:948)
        at MediaStart.<init>(MediaStart.java:23)
        at MediaStart.main(MediaStart.java:18)
Exception in thread "main" java.lang.Error: Skin was null and an error occurs wh
ile trying to load the user theme pack. Source exception message is themepack.zi
p not found in classpath
        at com.l2fprod.gui.plaf.skin.SkinLookAndFeel.getSkin(SkinLookAndFeel.jav
a:863)
        at com.l2fprod.gui.plaf.skin.SkinLookAndFeel.initClassDefaults(SkinLookA
ndFeel.java:181)
        at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(Unknown Source)
        at javax.swing.UIManager.setLookAndFeel(Unknown Source)
        at MediaStart.<init>(MediaStart.java:29)
        at MediaStart.main(MediaStart.java:18)


但是我解壓縮,lnflib\skinlf-6.7\lib\themepack.zip 有在JAR裡面。
請問這個該怎樣解決,因為它好像只會讀外面lib,不會獨JAR裡面自己的lib...如果可以,該怎樣修正勒??


vote up 0 vote down
billqq edited on 2007-08-01 00:45
reply to postreply to post

» JavaWorld@TW »  Java 技巧文件 » 翻譯文件

reply to topicthreaded modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JavaWorld@TW


Powered by Powerful JuteForum® Version Jute 1.5.8
Copyright© 2002-2003 Rainman Zhu,Zua,Netboy,Scott. All Rights Reserved.