其實(shí)Java的包和C/C++的庫(kù),python的Model是一樣的,是可以使用的現(xiàn)成功能,我們可以稱他們?yōu)榛編?kù),一個(gè)語(yǔ)言的特性,成熟程度,與這個(gè)語(yǔ)言的基本庫(kù)有很大關(guān)系,Java從產(chǎn)生至今,他的庫(kù)一直在不斷的修改和擴(kuò)充,Java的功能也隨之變得更加的成熟和強(qiáng)大。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供興寧網(wǎng)站建設(shè)、興寧做網(wǎng)站、興寧網(wǎng)站設(shè)計(jì)、興寧網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、興寧企業(yè)網(wǎng)站模板建站服務(wù),十年興寧做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
在Java代碼中導(dǎo)入包,與其說為了使用里面的方法,不如按照面向?qū)ο笳Z(yǔ)言的特點(diǎn),說成為了使用里面的類,因?yàn)镴ava作為典型的面向?qū)ο笳Z(yǔ)言,他的程序是以數(shù)據(jù)作為基礎(chǔ),以類的形式組織的,類主要包括:你自己的寫的類和你的類中需要用到的現(xiàn)有的類,這些現(xiàn)有的類基本上都是以package包的形式存在的,你只有導(dǎo)入了這個(gè)類所在的包,才能使用這個(gè)類。
可以把普通的Java程序做成真正的exe,也就是單一個(gè)exe就可以在沒有安裝JVM的機(jī)器上運(yùn)行。這樣的工具常見的有JET和gcj.前者是收費(fèi)的,而且做出來的exe還是需要一堆dll。推薦使用gcj.他有windows和Linux版,直接下載zip包,不需要安裝,里面有不少例子,一些build的批處理文件。從原理來說gcj自己實(shí)現(xiàn)了JVM規(guī)范,也就是你編寫一個(gè)HelloWorld.java,其中的main方法為System.out.println("foo");
當(dāng)使用gcj把它做成exe(大約2M),運(yùn)行這個(gè)exe時(shí),會(huì)啟動(dòng)里面的一個(gè)小型jvm,在這上面跑HelloWorld。
其實(shí),把Java做成純exe實(shí)在是吃力不討好,有很多限制,文件又大。
我比較傾向另幾種做法:
. 使用InstallAnywhere等工具,制作一個(gè)exe的安裝包
用戶可以選擇使用他機(jī)器上的JRE或是這個(gè)安裝包內(nèi)的JRE來運(yùn)行程序
這是很常見的一種做法,如JBuilder就是這么做的。
這樣的好處是不要求對(duì)方機(jī)器上裝有JRE,而且你原來的程序不需要任何改動(dòng)。
InstallAnywhere中一個(gè)壓縮的JRE大概是8M。
. 制作成可執(zhí)行的jar,也就是在META-INF的MANIFEST文件制定Main-Class
可以通過命令行java -jar jarfile.jar來執(zhí)行,windows默認(rèn)的把*.jar使用javaw -jar打開,所以有些機(jī)器上可以直接雙擊jar運(yùn)行。
. 制作偽exe,其實(shí)和上一種做法是一樣的,只不過做成exe,調(diào)用系統(tǒng)的java.exe來運(yùn)行它,這樣的工具有nativeJ,exe4j等
其實(shí)Java不像VB,Delphi只是一個(gè)語(yǔ)言,而是一個(gè)平臺(tái)。
jar是最常用的部署單元,做成exe沒什么意思。
一、exe4j。
說明:exe4j可以將Jar文件制作成exe文件,但需jre支持,也可將Jar文件放在外面。
軟件性質(zhì):共享軟件
下載地址:
二、JBuilder。
說明:新版本的JBuilder可以直接把工程制作成各系統(tǒng)的可執(zhí)行文件,包括Windows系統(tǒng)。
軟件性質(zhì):商業(yè)軟件
下載地址:略。我是從eMule下載的。
三、NativeJ。
說明:與exe4j功能類似。
軟件性質(zhì):共享軟件
下載地址:
四、Excelsior JET。
說明:可以直接將Java類文件制作成exe文件,除AWT和Swing及第三方圖形接口外可不需jre支持(Java5.0不行)。
軟件性質(zhì):共享軟件
下載地址:
五、jshrink。
說明:可將Jar文件打包進(jìn)exe文件。同時(shí)具有混淆功能(這才是它的主要功能)。
軟件性質(zhì):共享軟件
下載地址:
六、InstallAnywhere。
說明:打包工具,對(duì)Java打包最好用??纱虬筛鞑僮飨到y(tǒng)運(yùn)行包。包括Windows系統(tǒng)。
軟件性質(zhì):商業(yè)軟件。
下載地址:
七、InstallShieldX。
說明:與InstallAnywhere類似,但比InstallAnywhere功能強(qiáng)大。相對(duì)的,比較復(fù)雜,不易上手,我現(xiàn)在還沒學(xué)會(huì)。
軟件性質(zhì):商業(yè)軟件。
下載地址:
【Java開源打包工具】
IzPack 是一個(gè) Java 安裝程序制作工具,能夠制作一些簡(jiǎn)單的安裝程序。制作出來的安裝程序能在 Unix-like, MacOS X, Windows 等系統(tǒng)平臺(tái)上運(yùn)行。
使用JSmooth將做好的JAR包裝成EXE。
launch4j是Java應(yīng)用程序的Windows本地可執(zhí)行文件 (.exe) 封裝器。提供了本地彈出屏幕,應(yīng)用程序圖標(biāo),JRE搜索或使用綁定的JRE,啟動(dòng)失敗反饋,傳遞命令行參數(shù),ant腳本。
VAInstall是多平臺(tái)的安裝程序。你要包裝起來的軟件可以是可執(zhí)行的 java class, Windows .EXE, Linux 可執(zhí)行檔,或者是 UNIX shell 檔案。使用者可以選擇四種安裝的介面,graphic, xtra, text 或是 ansi。VAInstall 只需要很少的空間,他不會(huì)使用任何大的暫存檔案,而且還可以很容易使用反安裝功能。
Toolshed是一個(gè)既小又簡(jiǎn)單的JAVA安裝制作工具。
AntInstaller通過XML文件定義UI,用Ant做后臺(tái)。所以ANT所能做的事情AntInstaller同樣也勝任。
FreeInstaller能夠把JAVA程序打包成多種平臺(tái)下的應(yīng)用程序比如UNIX, LINUX 和 Windows NT.
這個(gè)工具利用 ANT 來制作在 Windows, MacOS X, Unix 平臺(tái)上可執(zhí)行的文件,比如 exe,zip,jar。ROXES ANT Tasks 基于 GPL 發(fā)布。
Mini Installer是用來構(gòu)建JAVA安裝程序一個(gè)簡(jiǎn)單類包。整個(gè)過程以腳本為驅(qū)動(dòng),最后結(jié)果是一個(gè)獨(dú)特的JAR文件。用戶可以通過雙擊來執(zhí)行一個(gè)類似向?qū)У陌惭b過程。
Antigen (Ant Installer Generator)這個(gè)工具結(jié)合一個(gè)ANT構(gòu)建腳本與一個(gè)GUI來把Java文件打包成可執(zhí)行的Jar文件。它的主要目的是從Ant腳本創(chuàng)造一個(gè)強(qiáng)大的圖形安裝工具。
Packlet是一個(gè)針對(duì)Java的簡(jiǎn)單安裝工具。一個(gè)Packlet類似于一個(gè)zip或tgz文件。它把應(yīng)用程序打包成一個(gè)單一的可分解的壓縮文件。Packlet文件能夠在任何有安裝Java 2運(yùn)行環(huán)境的機(jī)器上運(yùn)行。
Java Service Wrapper可以把Java應(yīng)用程序安裝成一個(gè)Windows NT服務(wù)或Unix Daemon.它同時(shí)還為應(yīng)用程序提供日記功能,靈活的配置,可靠的運(yùn)行性能,按需求重新啟動(dòng),簡(jiǎn)化應(yīng)用程序的安裝等,
JPackIt可以把Java工程打包成一個(gè)可執(zhí)行的包(如:jar,class或exe).包括所有Java應(yīng)用程序資源如:代碼,圖片,屬性文件和被引用的第三方包.
One-JAR可以解決如何把一個(gè)依賴于多個(gè)其它jar文件的應(yīng)用程序發(fā)布成一個(gè)單一的可執(zhí)行Jar文件.它使用一個(gè)可定制的類裝載器(classloader)來打開在主Jar中的Jar文件包.
Autojar幫助從不同的inputs(如:自身classes,外部文檔等)制作最小的Jar文件。它從一個(gè)或多個(gè)給定的classes開始,依據(jù)字節(jié)碼(bytecode)遞歸搜索相關(guān)聯(lián)的classes,然后從input文檔中提取這些Classes,并把它們拷貝到output中. 最終的文檔將只包含真正需要的classes. 因而能夠保持applet的大小并降低applet的加載時(shí)間或者讓應(yīng)用程序獨(dú)立于第三方類庫(kù)。
MJAR(Managed Jar Framework)Java軟件分發(fā)/打包框架。它允許在相同VM內(nèi)并行部署classloader分離的應(yīng)用程序。MJAR使用Spring框架來管理內(nèi)部組件。
本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:
本類對(duì)象被創(chuàng)建時(shí)執(zhí)行
如果加了static 修飾,則在本類被加載時(shí)就執(zhí)行