當前位置:首頁 » 編程語言 » java打包工具

java打包工具

發布時間: 2022-05-14 00:49:36

java 怎麼打包成.exe文件

java的工具軟體一般開源,你可以到/上找到你喜歡任意一個打包工具,它的分類就叫「打包工具」這里推薦一款叫做JSmooth的,它的打包效果在我的應用過程中是比較出色的。在使用中需要注意的有幾點:第一:如果需要不安裝jre就可以運行的話,你需要在打包的過程中將jre一起打包進exe文件。第二:記得打包後的程序只能應用在windows下,原因如下:第一你把它打包成exe是windows的應用程序格式,第二就是一起打包的jre也是windows版本。第三:打包程序中不能包含servlet等需要容器管理的部分,比如你在tomcat中可以使用的一些東西。所以建議你選擇jdbc操作資料庫,而不要使用tomcat等容器的資料庫連接池。第四:即使打包了也需要注意包和類之間的路徑關系,在打包後無法使用配置文件或者xml進行設置和擴展,所以你只能將一些配置型的信息直接卸載程序中。第五:打包後絕不可能支持介面擴展,除非你重新打包。具體使用方法很簡單,稍微查查字典應該就可以了,只有幾個重要的選項:比如二進制文件指的是exe文件jre指的是java運行環境或是虛擬機,或者也有人稱之為運行時

㈡ java應用程序怎樣打包成可jar執行程序

可以把普通的Java程序做成真正的exe,也就是單一個exe就可以在沒有安裝JVM的機器上運行。這樣的工具常見的有JET和gcj.前者是收費的,而且做出來的exe還是需要一堆dll。推薦使用gcj.他有windows和Linux版,直接下載zip包,不需要安裝,裡面有不少例子,一些build的批處理文件。從原理來說gcj自己實現了JVM規范,也就是你編寫一個HelloWorld.java,其中的main方法為System.out.println("foo");

當使用gcj把它做成exe(大約2M),運行這個exe時,會啟動裡面的一個小型jvm,在這上面跑HelloWorld。

其實,把Java做成純exe實在是吃力不討好,有很多限制,文件又大。

我比較傾向另幾種做法:

. 使用InstallAnywhere等工具,製作一個exe的安裝包

用戶可以選擇使用他機器上的JRE或是這個安裝包內的JRE來運行程序

這是很常見的一種做法,如JBuilder就是這么做的。

這樣的好處是不要求對方機器上裝有JRE,而且你原來的程序不需要任何改動。

InstallAnywhere中一個壓縮的JRE大概是8M。

. 製作成可執行的jar,也就是在META-INF的MANIFEST文件制定Main-Class

可以通過命令行java -jar jarfile.jar來執行,windows默認的把*.jar使用javaw -jar打開,所以有些機器上可以直接雙擊jar運行。

. 製作偽exe,其實和上一種做法是一樣的,只不過做成exe,調用系統的java.exe來運行它,這樣的工具有nativeJ,exe4j等

其實Java不像VB,Delphi只是一個語言,而是一個平台。

jar是最常用的部署單元,做成exe沒什麼意思。

一、exe4j。

說明:exe4j可以將Jar文件製作成exe文件,但需jre支持,也可將Jar文件放在外面。

軟體性質:共享軟體

下載地址:http://www.ej-technologies.com/procts/exe4j/overview.html

二、JBuilder。

說明:新版本的JBuilder可以直接把工程製作成各系統的可執行文件,包括Windows系統。

軟體性質:商業軟體

下載地址:略。我是從eMule下載的。

三、NativeJ。

說明:與exe4j功能類似。

軟體性質:共享軟體

下載地址:http://www.dobysoft.com/procts/nativej/download.html

四、Excelsior JET。

說明:可以直接將Java類文件製作成exe文件,除AWT和Swing及第三方圖形介面外可不需jre支持(Java5.0不行)。

軟體性質:共享軟體

下載地址:http://excelsior-usa.com/home.html

五、jshrink。

說明:可將Jar文件打包進exe文件。同時具有混淆功能(這才是它的主要功能)。

軟體性質:共享軟體

下載地址:http://www.e-t.com/jshrink.html

六、InstallAnywhere。

說明:打包工具,對Java打包最好用。可打包成各操作系統運行包。包括Windows系統。

軟體性質:商業軟體。

下載地址:http://www.zerog.com/

七、InstallShieldX。

說明:與InstallAnywhere類似,但比InstallAnywhere功能強大。相對的,比較復雜,不易上手,我現在還沒學會。

軟體性質:商業軟體。

下載地址:http://www.installshield.com/

【Java開源打包工具】

IzPack 是一個 Java 安裝程序製作工具,能夠製作一些簡單的安裝程序。製作出來的安裝程序能在 Unix-like, MacOS X, Windows 等系統平台上運行。

使用JSmooth將做好的JAR包裝成EXE。

launch4j是Java應用程序的Windows本地可執行文件 (.exe) 封裝器。提供了本地彈出屏幕,應用程序圖標,JRE搜索或使用綁定的JRE,啟動失敗反饋,傳遞命令行參數,ant腳本

VAInstall是多平台的安裝程序。你要包裝起來的軟體可以是可執行的 java class, Windows .EXE, Linux 可執行檔,或者是 UNIX shell 檔案。使用者可以選擇四種安裝的介面,graphic, xtra, text 或是 ansi。VAInstall 只需要很少的空間,他不會使用任何大的暫存檔案,而且還可以很容易使用反安裝功能。

Toolshed是一個既小又簡單的JAVA安裝製作工具。

AntInstaller通過XML文件定義UI,用Ant做後台。所以ANT所能做的事情AntInstaller同樣也勝任。

FreeInstaller能夠把JAVA程序打包成多種平台下的應用程序比如UNIX, LINUX 和 Windows NT.

這個工具利用 ANT 來製作在 Windows, MacOS X, Unix 平台上可執行的文件,比如 exe,zip,jar。ROXES ANT Tasks 基於 GPL 發布。

Mini Installer是用來構建JAVA安裝程序一個簡單類包。整個過程以腳本為驅動,最後結果是一個獨特的JAR文件。用戶可以通過雙擊來執行一個類似向導的安裝過程。

Antigen (Ant Installer Generator)這個工具結合一個ANT構建腳本與一個GUI來把Java文件打包成可執行的Jar文件。它的主要目的是從Ant腳本創造一個強大的圖形安裝工具。

Packlet是一個針對Java的簡單安裝工具。一個Packlet類似於一個zip或tgz文件。它把應用程序打包成一個單一的可分解的壓縮文件。Packlet文件能夠在任何有安裝Java 2運行環境的機器上運行。

Java Service Wrapper可以把Java應用程序安裝成一個Windows NT服務或Unix Daemon.它同時還為應用程序提供日記功能,靈活的配置,可靠的運行性能,按需求重新啟動,簡化應用程序的安裝等,>

JPackIt可以把Java工程打包成一個可執行的包(如:jar,class或exe).包括所有Java應用程序資源如:代碼,圖片,屬性文件和被引用的第三方包.>

One-JAR可以解決如何把一個依賴於多個其它jar文件的應用程序發布成一個單一的可執行Jar文件.它使用一個可定製的類裝載器(classloader)來打開在主Jar中的Jar文件包. >

Autojar幫助從不同的inputs(如:自身classes,外部文檔等)製作最小的Jar文件。它從一個或多個給定的classes開始,依據位元組碼(bytecode)遞歸搜索相關聯的classes,然後從input文檔中提取這些Classes,並把它們拷貝到output中. 最終的文檔將只包含真正需要的classes. 因而能夠保持applet的大小並降低applet的載入時間或者讓應用程序獨立於第三方類庫。>

MJAR(Managed Jar Framework)Java軟體分發/打包框架。它允許在相同VM內並行部署classloader分離的應用程序。MJAR使用Spring框架來管理內部組件。

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lesorb/archive/2009/02/18/3905439.aspx

㈢ 怎樣將編譯好的java程序打包成可執行文件

需要的工具myeclipse 、jar2exe

步驟:1、將Java項目導出成.jar包,滑鼠右鍵項目名,選擇導出

㈣ java打包工具有哪些

1、Izpack(開源)

2、InstallShield
3、InstallAnywhere
4、Advanced Installer,有免費版、收費版。
5、Inno Setup 是一個免費的安裝製作軟體,小巧、簡便、精美是其最大特點,支持pascal腳本,能快速製作出標准Windows2000風格的安裝界面,足以完成一般安裝任務。該軟體用Delphi寫成,其官方網站同時也提供源程序免費下載。它雖不能與Installshield這類恐龍級的安裝製作軟體相比,但也當之無愧算是後起之秀。
6、NSIS (Nullsoft Scriptable Install System)是一個Open
Source的Windows系統下安裝程序製作程序。它提供了安裝、卸載、系統設置、文件解壓縮等功能。這如其名字所指出的那樣,NSIS是通過它的腳本語言來描述安裝程序的行為和邏輯的。NSIS的腳本語言和通常的編程語言有類似的結構和語法,但它是為安裝程序這類應用所設計的。NSIS腳本通常以nsi 為擴展名,支持include功能,頭文件擴展名為nsh。NSIS (Nullsoft Scriptable Install System)是一個Open Source的Windows系統下安裝程序製作程序。它提供了安裝、卸載、系統設置、文件解壓縮等功能。這如其名字所指出的那樣,NSIS是通過它的腳本語言來描述安裝程序的行為和邏輯的。NSIS的腳本語言和通常的編程語言有類似的結構和語法,但它是為安裝程序這類應用所設計的。NSIS腳本通常以 nsi為擴展名,支持include功能,頭文件擴展名為nsh。
NSIS的主要特點是:
(1)開銷小,一個完整功能的安裝程序僅需要34k的額外開銷。
(2)支持大多數Windows平台,包括:Windows 9.x,Windows NT, Windows 2000, Windows XP, Windows 2003
(3)支持三大壓縮演算法: Zlig, BZips, LZMA
(4)支持腳本
(5)支持多語言
(6)支持安裝界面定製
(7)提供可擴展的插件介面
(8)支持網路安裝、補丁
(9)支持無人值守的安裝模式
此外,NSIS的license允許任何用途免費使用。
7、exe4j,這個是專門為java打造的,使用也最簡單。

㈤ 有沒有現成的java打包工具

jdk 自帶有jar打包工具

jar 應用 先打開命令提示符(win2000或在運行筐里執行cmd命令,win98為DOS提示符),輸入jar -help,然後回車(如果你盤上已經有了jdk1.1或以上版本),看到什麼:
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目錄] 文件名 ...

選項:
-c 創建新的存檔
-t 列出存檔內容的列表
-x 展開存檔中的命名的(或所有的〕文件
-u 更新已存在的存檔
-v 生成詳細輸出到標准輸出上
-f 指定存檔文件名
-m 包含來自標明文件的標明信息
-0 只存儲方式;未用ZIP壓縮格式
-M 不產生所有項的清單(manifest〕文件
-i 為指定的jar文件產生索引信息
-C 改變到指定的目錄,並且包含下列文件:

如果一個文件名是一個目錄,它將被遞歸處理。
清單(manifest〕文件名和存檔文件名都需要被指定,按'm' 和 'f'標志指定的相同順序.

示例1:將兩個class文件存檔到一個名為 'ab.jar' 的存檔文件中:
jar cvf ab.jar A.class B.class

示例2:用一個存在的清單(manifest)文件 'mymanifest' 將 foo/ 目錄下的所有文件存檔到一個名為 'classes.jar' 的存檔文件中:
jar cvfm classes.jar mymanifest -C foo/ .

㈥ javaant工具怎麼打包發布

1.將項目打成jar:

1.1 要將項目打包成jar文件,方法很多,可以用Eclipse自帶的打包工具Ant打包,也可以用Eclipse的Export生成jar。經過嘗試後,我不推薦用Ant打包,因為要自己編寫xml腳本語言,還要增加一些外部的jar,所以我打了好幾次都沒打成。

1.2
在這里介紹兩種方法生成jar,第一種是用Eclpise的Export功能。在要打包的項目上擊右鍵,選擇Export,在窗口中選擇Java里的
JAR file。Next後的窗口中已經自動選好了要打包的項目,用戶可以點擊加號查看項目里被打包的內容。在下面的JAR
file里設置你打包生成jar文件的輸出目錄,下一步在出現的窗口中選擇Use existing manifest from
workspace,在下面的Main
class後面直接點Browse,它會自動列出你項目中有主函數main的類。選擇主類後點Finish即可生成jar文件。在此說明一下,這種打包方
法不能把項目中的外部的jar包打進來,因該是也要編寫一些腳本語言,沒往深研究。所以生成後的jar有些是不能執行的。

1.3
第二種方法是利用Eclipse的一個第三方插件fatjar生成jar文件,也是本人覺得最簡單最方便的一種生成方式。先從網上下載些插件,解壓後是一
個plugins的文件夾,裡面只有一個文件夾,我的是「net.sf.fjep.fatjar_0.0.24」將它到Eclipser
plugins文件夾下,此插件就安裝成功了,重啟Eclipse在項目上右擊就會看到多出一個「Build Fat
Jar」在前面有個綠色的「+」號,這時你就可以用此插件打包你的項目了。進去後第一個界面Jar-Name里增入要生成的jar文件名,我的是
「CAMP_fat.jar」。在Main-Class後點Browse像Export一樣它也會列出你項目中的主類,選擇後其它默認即可,Next後會
列出你要打包的所有內容,這個插件的優勢就是可以將你項目中的外部jar也打進來,有三個先項,其中Export
ANT是生成build.xml腳本文件,方便用戶以後修改腳本,其它兩個按鈕沒用。在這里什麼都不點,直接點Finish就可以生成jar文件。

2.將jar打成.exe文件:

2.1 雖然此時的jar文件已經可以執行了。生成.exe的文件我也是用兩種方法實現的,用到的打包工具是j2ewiz和exe4j,它們的不同會在我下面的介紹中體現出來。

2.2 首先是j2ewiz,這個軟體是綠色的,不用安裝,解壓後可以直接運行,但這個軟體生成的
.exe文件不是跨平台的。運行此程序首先就是輸入要打包的jar文件,我們瀏覽JAR選擇我們之前用fatjar生成的「CAMP_fat.jar」項
目文件(詳見1.3),下面那個選項是提示用戶最低要求的JRE版本,一般選1.3。下一步,因為我們的寢室管理系統是圖形界面,所以在這里選
「Windows窗口程序」下一步它也是自動生成要執行的主類,你只要選擇就可以。下面的選框可以選擇你啟動程序顯示的圖片。下一步後這個窗可按個人喜好
選擇。下一步,如果你的程序還有什麼依賴的外部jar文件,可以從這里加上,但因為之前的fatjar以經將我們項目所用的那三個連資料庫的外部類打進
CAMP_fat.jar包里了,所以這里不用再添加。如果你之前是用Export打的jar
包,那麼這里就需要再把那個三個資料庫的包加進來了(詳見1.2)。下一步是添入要生成的.exe文件名,再選一個程序圖標就可以了,下一步後生
成.exe文件,點完成。雙擊生成的.exe文件就能看到運行效果了,這種exe文件還沒有脫離JDK環境,還不能跨平台使用,只能用於小組成員測試使
用。

2.3
下面進入最關鍵的,如何打包跨平台的.exe文件。用到的軟體是exe4j,我用的是V4.0版的,此軟體需要破解。安裝後運行左窗窗口標有十步,其實打
包過程也非常簡單。第一步完全略過,直接點Next第二步我們選擇「JAR in EXE mode」
就是選擇我們已經有製作好的jar文件。第3步上面是項目名稱,可隨便填寫,下面一個寫出你想要將打包後的exe文件輸出的目錄我的是「桌
面\project\」。第4步,由於我的演示程序是圖形的,所以選第一個,如果你的程序是控制台的,則選擇第二個,Executable
name寫你將要生成的.exe文件的名字,Icon
File可以選擇生成文件的圖標。第5步,先別管上面的,先在下面單擊綠色的「+」號,在彈出的窗口中點Archive,然後找到起初已經做好的
CAMP_fat.jar(詳見1.3)文件,"OK"後返回,在下面的Class Path里就出現jar文件路徑後,再在上面Main
Class欄內點擊找到main所在的類。第6步,你系統的JRE版本,一般是填個1.3,下面填1.6在這里單擊advanced
options,選擇search
sequence。選這個就是因為我們要把JDK環境也打包進來,好讓程序能跨平台使用。首先要從你系統的JDK下的JRE目錄到你.exe文件
的輸出目錄下「桌面\project\JRE」,然後回到exe4j中在彈出窗口刪除列表中的所有項。我的是三項,一個注冊表的,一個JAVA環境變數
的,一個JDK環境變數的,都不要。然後單擊綠「+」,選擇directory並選擇JRE的根目錄,我的是「桌面\project\JRE」就是
後的目錄,選完後exe4j彈出窗口中的Directory里會顯示「.\JRE」。點OK關閉該窗口,返回exe4j的主窗口,你就可以看到剛
加的路徑。再從主窗口左側窗口中單擊advanced options,並選擇preferred VM,在彈出的窗口中選擇client
hostspot VM,單擊next按鈕繼續。7、8步是一些個性設置默認即可。第9步編譯完後第10步你點那個「Click Here to
Start the Application」按鈕就可以看到程序運行效果了,然後再點」Seave
as」保存一個exe4j生成的一個文件,隨便存哪裡都行,和我們的.exe程序無關。全部製作過程就完工了。

㈦ 如何打包JAVA游戲文件

第一種:在jbuilder中:
首先你要保證Run菜單-->Run Project能順利運行
然後Wizards菜單-->Native Executable Builder
選中Compress the contents of the archive(產生jar文件的話)
Next-->Next-->選中Always include all classes and resources再Next-->Next-->Next
選中Windows GUI"exe"(產生EXE文件的話)-->Finish
再在項目的文件列表中的Native Executable右擊-->Make就可以了

第二種:在cmd 下生成jar文件
abc.txt內容如下:
Manifest-Version: 1.0
Main-Class: main-class-name(回車)
在cmd下:
javac *.java
jar cvfm abc.jar abc.txt *.class
示例——生成能通過滑鼠雙擊就執行的.jar文件
一、 編寫Java源程序Test.java如下:

// Test.java
import javax.swing.*;
/**
* @(#) Test.java
* Copyleft (c) 2002 RatKing
* @author <a href="[email protected]">RatKing</a>
* @version 0.1, 2002-11-7
* 描述:一個測試用的Java Application
*/
public class Test extends JFrame {
public Test(String title) {
super(title);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().add(new JLabel("測試!", JLabel.CENTER), SwingConstants.CENTER);
this.pack();
}

public static void main(String[] args) {
try {
//UIManager.setLookAndFeel(UIManager.());
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch(Exception e) {
e.printStackTrace();
}
Test t = new Test("Test - 測試");
t.setVisible(true);
}
}

二、編譯Test.java為Test.class(當然假設你事先已經設置好了JDK的環境變數PATH和CLASSPATH)
在命令行執行編譯命令:
javac Test.java

三、用文本編輯器(比如記事本/UltraEdit等 - 甚至用ECHO命令加管道「>>」)編寫如下manifest文件,並保存為abc.txt

Manifest-Version: 1.0
Main-Class: Test

【注意】文件abc.txt內必須是3行文本:
第一行的內容依次是:「Manifest」、英文減號、「Version」、英文冒號、英文空格、數字「1」、英文句號、數字「0」
第二行的英文冒號與Test之間必須要有一個英文空格!!!
第三行是一個空行,也就是說,你要在Test之後鍵入一個回車,然後才可以存檔退出!!!
如果冒號後面沒有空格,可以生成jar文件但不能執行;如果Test後沒有回車符,則生成jar文件時會報錯。

四、將Test.class打包成.jar文件,並使用abc.txt指明哪一個是帶有public static void main()的「主函數」
在命令行執行編譯命令:
jar cvfm Test.jar abc.txt *.class

你可以使用WinZip之類的解壓軟體看一看剛剛生成的Test.jar文件里到底有什麼。

五、用滑鼠雙擊Test.jar的圖標,應該可以看到Test執行後的窗口。

〖說明〗如果你正確地安裝了Java運行環境(JRE),那麼.jar的圖標應該是象一頁紙並有一個A的形狀,就如同寫字板的圖標。
如果你的.jar文件默認的打開關聯不對,可以重新設置:
我的電腦->查看(Win9x)或工具(Win2k)->文件夾選項->文件類型->選擇JAR文件->編輯該類型文件的屬性->操作欄填入[ open ](不填引號和中括弧[]),並在「執行操作的應用程序」欄填入[ "C:\Program Files\Java\j2re1.4.1\bin\javaw.exe" -jar "%1" %* ](填兩對英文引號,不填[])
並按「確定」、「關閉」退出對.jar文件關聯的編輯。
(你的javaw.exe文件是不是位於C:\Program Files\Java\j2re1.4.1\bin\路徑下,視你自己電腦的情況而定) 另外,可以下一個第三方軟體

㈧ java如何打包

建議使用ANT打包工具,下載地址:http://apache.justdn.org/ant/binaries/apache-ant-1.6.5-bin.zip

此工具用java編寫,跨平台,能實現很多功能:編譯、打包、運行、文件操作、資料庫操作、自定義任務等。

主要使用方法:在工程目錄下編寫build.xml配置文件,然後運行ant即可:
#ant

#java -jar ant.jar
下面給你提供一個例子,是jakarta-oro-2.0.8的包的build.xml
<?xml version="1.0"?>
<project default="jar">

<!-- Allow properties following these statements to be overridden -->
<!-- Note that all of these don't have to exist. They've just been defined
incase they are used. -->
<property file="build.properties"/>
<!--
<property file=".ant.properties"/>
<property file="${user.home}/.ant.properties"/>
<property file="default.properties"/>
-->

<!-- prepare target. Creates build directories. -->
<target name="splash">
<splash imageurl="./ant_logo_medium.gif"/>
</target>

<target name="prepare" depends="splash" description="Creates build directories.">
<tstamp>
<format property="DATE" pattern="yyyy-MM-dd hh:mm:ss" />
</tstamp>
<mkdir dir="${build.dest}"/>
<mkdir dir="${build.dest}/META-INF"/>
< todir="${build.dest}/META-INF">
<fileset dir="${top.dir}">
<include name="LICENSE"/>
</fileset>
</>
<mkdir dir="${build.tests}"/>
<available file="${jakarta-site2.dir}/lib" type="dir"
property="AnakiaTask.present"/>
</target>

<target name="prepare-error" depends="prepare"
description="Prints error message for prepare target."
unless="AnakiaTask.present">
<echo>
AnakiaTask is not present! Please check to make sure that
velocity.jar is in your classpath.
</echo>
</target>

<!-- lib target. Compiles the library classes only -->

<target name="lib" depends="prepare"
description="Compiles the library classes only.">
<javac srcdir="${build.src}"
destdir="${build.dest}"
excludes="examples/**,tools/**"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"/>
</target>

<!-- examples target. Compiles the example classes. -->

<target name="examples" depends="prepare,lib"
description="Compiles the example classes.">
<javac srcdir="${build.src}"
destdir="${build.dest}"
includes="examples/**"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"/>
</target>

<!-- tools target. Compiles the tool classes. -->

<target name="tools" depends="prepare,lib"
description="Compiles the tool classes.">
<javac srcdir="${build.src}"
destdir="${build.dest}"
includes="tools/**"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"/>
</target>

<!-- tests target. Compiles and runs the unit tests. -->

<target name="tests" depends="prepare,lib"
description="Compiles and runs the unit tests.">
<javac srcdir="${build.src}/tests"
destdir="${build.tests}"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"/>
</target>

<!-- jar target. Compiles the source directory and creates a .jar file -->

<target name="jar" depends="lib" description="Compiles the source directory and creates a .jar file.">
<jar jarfile="${top.dir}/${final.name}.jar"
basedir="${build.dest}"
includes="org/**,META-INF/**"
excludes="**/package.html,**/overview.html">
<manifest>
<section name="org/apache/oro">
<attribute name="Specification-Title"
value="Jakarta ORO" />
<attribute name="Specification-Version"
value="${version}" />
<attribute name="Specification-Vendor"
value="Apache Software Foundation" />
<attribute name="Implementation-Title"
value="org.apache.oro" />
<attribute name="Implementation-Version"
value="${version} ${DATE}" />
<attribute name="Implementation-Vendor"
value="Apache Software Foundation" />
</section>
</manifest>
</jar>
</target>

<!-- javadocs target. Creates the API documentation -->

<target name="javadocs" depends="prepare"
description="Creates the API documentation.">
<mkdir dir="${javadoc.destdir}"/>
<javadoc packagenames="org.apache.oro.io,org.apache.oro.text,org.apache.oro.text.regex,org.apache.oro.text.awk,org.apache.oro.text.perl,org.apache.oro.util"
sourcepath="${build.src}"
destdir="${javadoc.destdir}"
overview="${build.src}/org/apache/oro/overview.html"
author="true"
version="true"
windowtitle="${name} ${version} API"
doctitle="${name} ${version} API"
header="<a href='http://jakarta.apache.org/oro/' target=_top><img src='{@docroot}/../images/logoSmall.gif' alt='Jakarta ORO' width=48 height=47 align=center border=0 hspace=1 vspace=1></a>"
bottom="Copyright © ${year} Apache Software Foundation. All Rights Reserved.">
</javadoc>
<replace file="${javadoc.destdir}/overview-frame.html"
token="{@docroot}" value="."/>
<replace dir="${javadoc.destdir}" includes="**/*.html"
token="@version@" value="${version}"/>
</target>

<!-- docs target. Creates project web pages and documentation. -->
<target name="docs" depends="prepare-error,lib,examples"
description="Creates the project web pages and documentation."
if="AnakiaTask.present">
<taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask">
<classpath>
<fileset dir="${jakarta-site2.dir}/lib">
<include name="*.jar"/>
</fileset>
</classpath>
</taskdef>

<anakia basedir="${docs.src}" destdir="${docs.dest}/"
extension=".html" style="./site.vsl"
projectFile="stylesheets/project.xml"
excludes="**/stylesheets/** manual/** empty.xml"
includes="**/*.xml"
lastModifiedCheck="true"
templatePath="${jakarta-site2.dir}/xdocs/stylesheets">
</anakia>

< todir="${docs.dest}/images" filtering="no">
<fileset dir="${docs.src}/images">
<include name="**/*.gif"/>
<include name="**/*.jpeg"/>
<include name="**/*.jpg"/>
</fileset>
</>

<mkdir dir="${docs.dest}/classes"/>
<mkdir dir="${docs.dest}/classes/examples"/>
< todir="${docs.dest}/classes/examples" filtering="no">
<fileset dir="${build.dest}/examples">
<include name="MatcherDemoApplet.class"/>
</fileset>
</>
<mkdir dir="${docs.dest}/classes/org"/>
< todir="${docs.dest}/classes/org" filtering="no">
<fileset dir="${build.dest}/org">
<include name="**/*.class"/>
</fileset>
</>
</target>

<!-- package target -->

<target name="package" depends="jar,javadocs,docs"
description="Creates a distribution directory tree.">
<mkdir dir="${final.dir}"/>
< todir="${final.dir}/src">
<fileset dir="${code.src}"/>
</>
<!-- BEGIN_REMOVE_THIS -->
<!-- Remove this when there's a first draft of the manual. -->
< todir="${final.dir}/docs">
<fileset dir="${docs.dest}">
<exclude name="manual/**"/>
</fileset>
</>
<!-- END_REMOVE_THIS -->

< file="${top.dir}/build.xml" tofile="${final.dir}/build.xml"/>
< file="${top.dir}/build.properties"
tofile="${final.dir}/build.properties"/>

< file="${top.dir}/LICENSE" tofile="${final.dir}/LICENSE"/>
< file="${top.dir}/ISSUES" tofile="${final.dir}/ISSUES"/>
< file="${top.dir}/CHANGES" tofile="${final.dir}/CHANGES"/>
< file="${top.dir}/COMPILE" tofile="${final.dir}/COMPILE"/>
< file="${top.dir}/CONTRIBUTORS"
tofile="${final.dir}/CONTRIBUTORS"/>
< file="${top.dir}/README" tofile="${final.dir}/README"/>
< file="${top.dir}/STYLE" tofile="${final.dir}/STYLE"/>
< file="${top.dir}/TODO" tofile="${final.dir}/TODO"/>
< file="${top.dir}/${final.name}.jar" tofile="${final.dir}/${final.name}.jar"/>
</target>

<!-- package-zip target. Packages the distribution with ZIP -->

<target name="package-zip" depends="package"
description="Packages the distribution as a zip file.">
<zip zipfile="${top.dir}/${final.name}.zip" basedir="${top.dir}/"
includes="**/${final.name}/**" excludes="**/.cvsignore"/>
</target>

<!-- Packages the distribution with TAR-GZIP -->

<target name="package-tgz" depends="package"
description="Packages the distribution as a gzipped tar file.">
<tar tarfile="${top.dir}/${final.name}.tar"
basedir="${top.dir}" excludes="**/**">
<tarfileset dir="${final.dir}/..">
<include name="${final.name}/**"/>
<exclude name="**/.cvsignore"/>
</tarfileset>
</tar>
<gzip zipfile="${top.dir}/${project}-${version}.tar.gz" src="${top.dir}/${project}-${version}.tar"/>
</target>

<!-- Packages the distribution with ZIP and TAG-GZIP -->

<target name="package-all" depends="package-zip, package-tgz">
</target>

<!-- Makes an attempt to clean up a little. -->

<target name="clean"
description="Removes generated artifacts from source tree.">
<delete dir="${build.dest}"/>
<delete dir="${javadoc.destdir}"/>
<delete dir="${final.dir}"/>
<delete file="${top.dir}/${final.name}.jar"/>
<delete file="${top.dir}/${final.name}.tar"/>
<delete file="${top.dir}/${final.name}.tar.gz"/>
<delete file="${top.dir}/${final.name}.zip"/>
<delete>
<fileset dir="${top.dir}" includes="velocity.log*"/>
</delete>

</target>
</project>

build.xml文件的編寫可參見ant發行版中的使用文檔

你也可以自己編寫腳本打包,使用jdk發行版中的jar命令,例如:
#jar cmf myManifestFile myFile.jar *.class
注意還需要自己編寫MANIFEST.MF文件配置包屬性。具體可以參見javadoc

當然還可以使用集成開發環境提供的打包工具,如JBuilder提供打包工具,但這樣程序的移植性不強,建議不要使用,就使用ant比較好。

㈨ 求Java程序打包成可執行jar的工具或者方法

總體思路是先打成jar再把jar打成exe。主要看1.3和2.3里的內容就可以了。
1.將項目打成jar:
1.1要將項目打包成jar文件,方法很多,可以用Eclipse自帶的打包工具Ant打包,也可以用Eclipse的Export生成jar。經過嘗試後,我不推薦用Ant打包,因為要自己編寫xml腳本語言,還要增加一些外部的jar,所以我打了好幾次都沒打成。
1.2在這里介紹兩種方法生成jar,第一種是用Eclpise的Export功能。在要打包的項目上擊右鍵,選擇Export,在窗口中選擇Java里的JAR file。Next後的窗口中已經自動選好了要打包的項目,用戶可以點擊加號查看項目里被打包的內容。在下面的JAR file里設置你打包生成jar文件的輸出目錄,下一步在出現的窗口中選擇Use existing manifest from workspace,在下面的Main class後面直接點Browse,它會自動列出你項目中有主函數main的類。選擇主類後點Finish即可生成jar文件。在此說明一下,這種打包方法不能把項目中的外部的jar包打進來,因該是也要編寫一些腳本語言,沒往深研究。所以生成後的jar有些是不能執行的。
1.3第二種方法是利用Eclipse的一個第三方插件fatjar生成jar文件,也是本人覺得最簡單最方便的一種生成方式。先從網上下載些插件,解壓後是一個plugins的文件夾,裡面只有一個文件夾,我的「net.sf.fjep.fatjar_0.0.24」將它到Eclipser plugins文件夾下,此插件就安裝成功了,重啟Eclipse在項目上右擊就會看到多出一個「Build Fat Jar」在前面有個綠色的「+」號,這時你就可以用此插件打包你的項目了。進去後第一個界面Jar-Name里增入要生成的jar文件名,我的是「CAMP_fat.jar」。在Main-Class後點Browse像Export一樣它也會列出你項目中的主類,選擇後其它默認即可,Next後會列出你要打包的所有內容,這個插件的優勢就是可以將你項目中的外部jar也打進來,有三個先項,其中Export ANT是生成build.xml腳本文件,方便用戶以後修改腳本,其它兩個按鈕沒用。在這里什麼都不點,直接點Finish就可以生成jar文件。
2.將jar打成.exe文件:
2.1 雖然此時的jar文件已經可以執行了。生成.exe的文件我也是用兩種方法實現的,用到的打包工具是j2ewiz和exe4j,它們的不同會在我下面的介紹中體現出來。
2.2 首先是j2ewiz,這個軟體是綠色的,不用安裝,解壓後可以直接運行,但這個軟體生成的 .exe文件不是跨平台的。運行此程序首先就是輸入要打包的jar文件,我們瀏覽JAR選擇我們之前用fatjar生成的「CAMP_fat.jar」項目文件(詳見1.3),下面那個選項是提示用戶最低要求的JRE版本,一般選1.3。下一步,因為我們的寢室管理系統是圖形界面,所以在這里選「Windows窗口程序」下一步它也是自動生成要執行的主類,你只要選擇就可以。下面的選框可以選擇你啟動程序顯示的圖片。下一步後這個窗可按個人喜好選擇。下一步,如果你的程序還有什麼依賴的外部jar文件,可以從這里加上,但因為之前的fatjar以經將我們項目所用的那三個連資料庫的外部類打進CAMP_fat.jar包里了,所以這里不用再添加。如果你之前是用Export打的jar包,那麼這里就需要再把那個三個資料庫的包加進來了(詳見1.2)。下一步是添入要生成的.exe文件名,再選一個程序圖標就可以了,下一步後生成.exe文件,點完成。雙擊生成的.exe文件就能看到運行效果了,這種exe文件還沒有脫離JDK環境,還不能跨平台使用,只能用於小組成員測試使用。
2.3 =下面進入最關鍵的,如何打包跨平台的.exe文件。用到的軟體是exe4j,我用的是V4.0版的,此軟體需要破解。安裝後運行左窗窗口標有十步,其實打包過程也非常簡單。第一步完全略過,直接點Next第二步我們選擇「JAR
in EXE mode」 就是選擇我們已經有製作好的jar文件。第3步上面是項目名稱,可隨便填寫,下面一個寫出你想要將打包後的exe文件輸出的目錄我的是「桌面\project\」。第4步,由於我的演示程序是圖形的,所以選第一個,如果你的程序是控制台的,則選擇第二個,Executable name寫你將要生成的.exe文件的名字,Icon File可以選擇生成文件的圖標。第5步,先別管上面的,先在下面單擊綠色的「+」號,在彈出的窗口中點Archive,然後找到起初已經做好的CAMP_fat.jar(詳見1.3)文件,"OK"後返回,在下面的Class Path里就出現jar文件路徑後,再在上面Main Class欄內點擊找到main所在的類。第6步,你系統的JRE版本,一般是填個1.3,下面填1.6在這里單擊advanced options,選擇search sequence。選這個就是因為我們要把JDK環境也打包進來,好讓程序能跨平台使用。首先要從你系統的JDK下的JRE目錄到你.exe文件的輸出目錄下「桌面\project\JRE」,然後回到exe4j中在彈出窗口刪除列表中的所有項。我的是三項,一個注冊表的,一個JAVA環境變數的,一個JDK環境變數的,都不要。然後單擊綠「+」,選擇directory並選擇JRE的根目錄,我的是「桌面\project\JRE」就是後的目錄,選完後exe4j彈出窗口中的Directory里會顯示「.\JRE」。點OK關閉該窗口,返回exe4j的主窗口,你就可以看到剛加的路徑。再從主窗口左側窗口中單擊advanced options,並選擇preferred VM,在彈出的窗口中選擇client hostspot VM,單擊next按鈕繼續。7、8步是一些個性設置默認即可。第9步編譯完後第10步你點那個「Click Here to Start the Application」按鈕就可以看到程序運行效果了,然後再點」Seave as」保存一個exe4j生成的一個文件,隨便存哪裡都行,和我們的.exe程序無關。全部製作過程就完工了。

熱點內容
手機店設置的初始密碼一般是多少 發布:2025-05-11 09:33:15 瀏覽:401
昂科威選擇哪個配置 發布:2025-05-11 09:25:50 瀏覽:35
怎麼解決安卓視頻全屏卡頓 發布:2025-05-11 09:14:55 瀏覽:725
匯編從編譯到執行 發布:2025-05-11 09:09:04 瀏覽:257
安卓系統低版本如何升級 發布:2025-05-11 09:04:44 瀏覽:251
認證類型加密演算法 發布:2025-05-11 08:58:35 瀏覽:561
android停靠 發布:2025-05-11 08:42:23 瀏覽:646
超時代加密 發布:2025-05-11 08:41:29 瀏覽:780
為什麼還要輸入支取密碼 發布:2025-05-11 08:32:24 瀏覽:362
資料庫課程設計案例 發布:2025-05-11 08:15:33 瀏覽:51