細談jar項目文件編譯---my note

     使用Java開發的jar項目,如何進行編譯呢 php

   jar轉換成apk項目文件 java

打開Eclipse, android

右鍵工程,
Build path,
java build path,選擇libraries
在右邊的按鈕中點擊「Add Library」
選擇「User library」,點擊「下一步」
點擊「User librarys」按鈕
在出現的界面中點擊「New..」按鈕
在彈出的界面中隨便起一個名字,點擊「肯定」
點擊「Add jars」按鈕選擇第三方jar包,點擊「肯定」完成。
後面的步驟很重要,若是不進行後面的操做。在Eclipse裏顯示編譯經過,不會有錯誤,但在模擬器或真機上運行的時候可能就會出現java.lang.noclassdeffounderror之類的錯誤:
一、在Android項目根目錄下新建一個libs文件夾;
二、把你須要的導入的第三方Jar包複製進這個目錄;
spring

三、在libs目錄上點右鍵,選Bulid path  –> Use as source folder。 小程序

方法2,android源碼環境下, windows

1,將out/target/common/obj/JAVA_LIBRARIES/powersave_intermediates下的classess.jar文件放在本身的工程目錄下。out/target/product/ventana/system/framework目錄下的jar包用如下方法經驗證是很差使的,由於他已經打成dex文件了,在工程裏引用其包是不行的; session

2,修改android.mk文件,以下: app

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_STATIC_JAVA_LIBRARIES := libpowerjar libpowersave

LOCAL_PACKAGE_NAME := testPowerjar

LOCAL_CERTIFICATE := platform

include $(BUILD_PACKAGE)
##############################################
include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libpowerjar:classes.jar libpowersave:testlily.jar
include $(BUILD_MULTI_PREBUILT)

# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
eclipse


解釋:LOCAL_STATIC_JAVA_LIBRARIES :=libpowerjar和LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :=libpowerjar:classes.jar其實libarity是個名字能夠隨便取,兩個屬性的值要同樣就行了,可是後面那個冒號裏面就必定要寫你的jar包名,你的jar包必定放在工程的根目錄就行了。我這裏是使用兩個jar包的例子。 工具

3,源碼目錄下編譯便可:# mmm package/app/testPowerjar,若是出錯提示說找不到jar包所打的package,那麼請#touchclasses.jar 便可.


生成jar包:

方法1:Eclipse下,
1. 建立java 或android project;
2. 工程屬性java build path->Libraries中加入android.jar
3. package explorer中右鍵點擊工程,export java->jar file.

具體可參照:http://blog.csdn.net/guanmjie/article/details/4437779

方法2:Android源碼環境下

1,修改Android.mk文件,

LOCAL_PATH:= $(call my-dir)
# the library
# ============================================================
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := powersave.java            

LOCAL_MODULE := powersave

include $(BUILD_JAVA_LIBRARY)

# additionally, build unit tests in a separate .apk
include $(call all-makefiles-under,$(LOCAL_PATH))

2,編譯 # mmm powersave(本身的模塊)

其中,BUILD_JAVA_LIBRARY表明生成jar包,包的位置放在out/target/product/ventana/system/framework和out/target/common/obj/JAVA_LIBRARIES/powersave_intermediates(本身的模塊)下,

最後安裝Androidstudio引進第三方jar包,最後打包成apk項目文件。

固然經過國外的在線網站把jar項目文件轉換成apk項目文件,如:http://www.netmite.com/android/srv/2.0/getapk.php這個網站打開,把jar文件生成apk文件,簡單的,網站是英文的,熟悉英文最好。

二,jar文件生成EXE文件

第一步:完成Java GUI程序

在Eclipse下,程序可以正常運行.

第二步:準備清單文件(MANIFEST.MF)

方法1:直接拷貝其它能運行的JAR文件中的MANIFEST.MF進行修改
方法2:利用IDE工具,如Eclipse在生成JAR文件時自動生成
MANIFEST.MF內容以下:

code以下:
Manifest-Version: 1.0
Main-Class: manager.ui.MainFrame
Class-Path: ./lib/spring.jar ./lib/hibernate.jar ./lib/derby.jar
SplashScreen-Imager: manager/resources/images/splash.jpg

note:

Manifest-Version - 指定清單文件的版本號
Main-Class -指定程序運行的入口類。注意:類名後不要加class擴展名
Class-Path -指定支持庫的路徑。「.」指程序運行目錄,即導出的JAR包所在目錄。程序運行時依據Class-Path項的設置路徑來查找支持庫。每個支持庫之間用空格隔開。在這裏使用了hibernate,spring,derby.

note:

1.若是Java應用程序用到了一些Eclipse包,那麼就必須將這些包也複製到程序運行目錄,設置到Class-Path,不然程序將沒法運行.引用了一些外部組件也須要如此設置,如hibernate,spring,derby.
2. 除了入口類的包名和類名以外,其餘設置項都不分大小寫,好比:Class-Path寫成class-path或CLASS-PATH也能夠,swt.jar寫成SWT.JAR也行。
3.類名後不要加class擴展名
4.每一行的':'後都有一個空格,如Class-Path:<空格>./lib/spring.jar
5.Class-Path中.引入的JAR文件每行不得超過19個,不然會報錯.但在讓人意外的是每行只有前9個有效,故將全部同類型的JAR 文件作成一個JAR文件.如我這裏的spring.jar,hibernate.jar,derby.jar都是同類JAR文件的組合.


第三步:修改spring配置文件

在spring的 'sessionFactory' bean的配置中則要這樣寫(與程序中ClassPathXmlApplicationContext對應)

code以下:

manager/entity/MyFile.hbm.xml
manager/entity/FileType.hbm.xml
...


第四步:使用Eclipse生成JAR文件

1.右鍵單擊項目名,在彈出菜單中選擇「Export」。在彈出的以下圖所示的對話框中,選擇「JAR文件」,單擊「Next」
2.將右邊不須要的文件都取消勾選。在「選擇導出目標(Select the export destination)」項文本框中設置JAR包的輸出路徑和包名(能夠任意取名)爲「D:\manager\manager.jar」。接受其餘的默 認設置不變,單擊「Next」。
附註:左邊雖然選擇了src目錄,但源文件並不會導出到包中,除非勾選了「導出Java源代碼文件和資源(Export java source files and resources)」項。
3.接受默認設置不變,單擊「Next」
4.這一步較關鍵。以下圖所示,選擇「從工做空間中使用現有清單」項,將建立的清單文件輸入,也能夠經過旁邊的「瀏覽」按鈕來選擇清單文件。輸入清單文件後,單擊「Finish」,Eclipse開始將項目打包。
附:這裏也能夠選擇Generate the manifest file.但生成的清單文件MAINFEST.MF須要修改.
注意:清單文件MAINFEST.MF必定要按第二步那樣設置.

第五步:生成運行manager.jar的批處理文件manager.bat(該步能夠不要)

在manager目錄下建立一個批處理程序manager.bat(名字任取,擴展名必須是bat),其內容僅一句語句,以下:
javaw -jar manager.jar

說明:

1.javaw對應c:\jdk\jre\bin\javaw.exe文件,若是windows提示命令未發現,則須要將c:\jdk\jre\bin路徑加入到windows環境變量path中。
2.在運行程序的時候有一個討厭的黑色命令行窗口,要去掉它,能夠將run.bat內容更改以下:「start javaw -jar manager.jar」,start是指調用了windows的「運行」命令。
3.在後邊加一個pause就可讓你看到具體哪裏出錯了,如:

code以下:
start javaw -jar manager.jar
pause

雙擊manager.bat,就能夠運行該JAR文件了.

第六步:讓電腦沒必要安裝JRE環境,也能運行.

一般運行Java程序有個前提條件:用戶電腦必須先安裝JRE環境。雖然安裝JRE環境很是簡單,但畢竟多了一步,算是有一點點的瑕疵。這裏給出一個沒必要讓用戶安裝JRE環境的方法,其實現步驟以下:
(1)將原JDK中的「jre」目錄複製到「D:\manager\java」目錄下(java也可換成其餘名稱)。
(2)將JDK和JRE從本機卸載掉,這樣表示本機沒有安裝JAVA運行環境。
(3)修改批處理文件manager.bat中的命令爲「start java\jre\bin\javaw -jar manager.jar」,僅僅是在javaw前加上了一個相對應路徑。
雙擊manager.bat便可在不安裝JRE環境的電腦運行此Java應用程序。

第七步:拋棄批處理文件(*.bat),生成exe文件

用批處理文件運行程序彷佛不夠專業,雖然它足以完成運行任務。但習慣就象一種毒藥一旦染上就很難擺脫它的影響,Windows統治下的人們早已經習慣運行擴展名是EXE的程序,用*.bat他們就會感受彆扭。
咱們能夠用一個叫JavaLauncher的免費小程序來代替批處理文件去運行Java程序。JavaLauncher的下載網址是:
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm
下載下來的文件是一個名JavaLauncher.zip的壓縮包,解壓後的目錄結構以下所示:

code以下:
JavaLauncher.zip目錄結構
source        目錄包含了JavaLauncher的源程序,是用C語言寫的
changes.txt   是新版的修改說明
launch.exe    是主程序
launcher.cfg  是配置文件
readme.txt    是一些說明和示例

咱們只須要launch.exe、launcher.cfg兩個文件,將這兩個文件複製到打包文件所在的目錄。launcher.cfg是一個僅三行內容的文本文件,將它修改以下:
.\java\jre\bin\javaw.exe
-jar manager.jar
第一行設置指向JAR包managger.jar的目錄,因爲launch.exe和myswt.jar同在一個目錄,因此用「.」即當前目錄。
第二行設置指向jre\bin\javaw.exe的路徑。在上面已將jre目錄複製到了java子目錄中
配置好launcher.cfg後,雙擊launch.exe便可運行java應用程序。
若是仔佃研究eclipse的啓動方式,發現eclipse和JavaLauncher的原理同樣:eclipse.exe至關於 launch.exe,startup.jar至關於manager.jar。只不過eclipse.exe不象launch.exe要具備通用性,因此 它沒有*.cfg這樣的配置文件,而是將啓動信息固化在eclipse.exe中。

第八步:美化圖標

launch.exe文件的圖標太單調了,讓咱們給它換個好看點的。換程序的圖標須要用到一個免費的軟件:Resource Hacker.

第九步:最後的打包

三,使用EXE4js把jar文件生成EXE文件

第一步詳解:

將java程序生成Jar包

如下是Myeclipse導出Jar包,首先選擇項目「右擊」

點擊「Export」

選擇JAR file

只保留項目底下的src目錄勾選,config和lib爲配置文件及程序所需的Jar包

點擊「next」

選擇Main方法後,直接點擊Finish

 

只是警告,無需關注。

好,直到上一步,Java程序Jar包生成完畢。

第一個大步驟操做完畢。

 

 

如今開始第二個大步驟:

Exe4j對Jar包進行exe封裝

首先在某盤符底下創建一個文件夾,本例是在D盤創建的Java文件夾,而後將jre和程序所需的Jar包文件及Java程序所要讀取的配置文件放入到文件夾。

好,如今開始,首先打開exe4j程序

第一步無需操做,直接點擊「Next」

第二步:選擇第二項」JAR in EXE」 mode,而後點擊「next」

 

 

第三步:設置完成後,點擊「next」

 

 

點擊「next」

 

點擊「next」

 

 

點擊「next」

 

 

設置大小版本號之後,點擊右邊節點的」Search sequence」

點擊 「 綠色加號」 選擇」Directory「添加JRE,JRE是第一步建立文件夾裏的JRE

 

而後「七、八、9」步驟默認就好,第十步時,按圖片操做

 

相關文章
相關標籤/搜索