java實現可安裝的exe程序


java實現可安裝的exe程序

    通過編寫Java代碼,實現可安裝的exe文件的一般思路:

1、在eclipse中創建java項目,然后編寫Java代碼,將編寫好的Java項目導出一個.jar格式的jar包;

2、通過安裝exe4j軟件,將導出的.jar格式的文件制作成.exe格式的可執行的文件,(注意:此時的.exe文件只是可以執行,還不能夠安裝);

3、通過安裝Inno setup軟件,將可執行的.exe格式的文件、.jar格式的文件以及其它需要的文件制作成一個可安裝的.exe格式的文件;

4、非常注意:在exe4j和Inno setup軟件中選擇的路徑都是相對路徑,因此在導出的jar包、exe4j、Inno setup等軟件執行的過程中,強烈建議一直保持在一個文件夾內進行操作和輸出文件;

    通過java代碼實現可安裝的exe格式文件的一般步驟如下:

一、創建java項目,編寫好java代碼,導出jar包:

1、創建java項目,編寫java代碼就不用多說了;

2、如果需要可以將程序中的一些信息,寫在一個項目(jar包)外部的.ini格式的配置文件中去,比如客戶端鏈接服務端的IP、端口號等信息,以后服務端的IP和端口號修改了,只需要修改配置文件即可,不需要修改java代碼了,具體步驟如下:

非常注意:.ini格式的配置文件最好是和項目(jar)包在一個工作目錄下

(1)創建.ini格式的配置文件,然后在配置文件中寫入信息,以key-value鍵值對的形式進行書寫:

(2)在項目中編寫java代碼,在項目或程序啟動時,首先讀取.ini格式的配置文件中的信息,將獲取的信息給項目中需要的地方,讀取.ini格式文件信息的代碼如下:

package com.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;


import com.model.ServerInfo;

/**
 * 讀取連接服務端配置信息的.ini格式文件信息的工具類
 * @author admin
 *
 */
public class LoadServerInfo {
	
	
	public static ServerInfo LoadIniFile(){
		Properties properties = new Properties();
		File exeWorkFile = new File("");//獲取jar或exe或項目工作目錄的路徑
		String iniPath = exeWorkFile.getAbsolutePath()+File.separator+"serverInfo.ini";//獲取.ini格式文件的路徑
		ServerInfo serverInfo = new ServerInfo();
		try {
			properties.load(new FileInputStream(iniPath));//讀取.ini格式文件中的信息
			//通過key獲取.ini文件中對應的value值,並將該value值存儲到一個對象中去
			serverInfo.setIP(properties.getProperty("IP"));
			serverInfo.setPortNumber(Integer.valueOf(properties.getProperty("portNumber")));
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			return serverInfo;//將存有.ini格式文件中信息的對象返回
		}
		
	}
	
	public static void main(String[] args) {
		ServerInfo serverInfo = LoadServerInfo.LoadIniFile();
		System.out.println(serverInfo);
	}
	

}

  對應的存儲服務端信息的實體類代碼如下:

package com.model;
/**
 * 連接服務端配置信息實體類
 * @author admin
 *
 */
public class ServerInfo {
	
	private String IP;//服務端IP
	private Integer portNumber;//服務端的Socket端口號
	
	public ServerInfo(){
		
	}

	public ServerInfo(String iP, Integer portNumber) {
		super();
		IP = iP;
		this.portNumber = portNumber;
	}

	public String getIP() {
		return IP;
	}

	public void setIP(String iP) {
		IP = iP;
	}

	public Integer getPortNumber() {
		return portNumber;
	}

	public void setPortNumber(Integer portNumber) {
		this.portNumber = portNumber;
	}

	@Override
	public String toString() {
		return "ServerInfo [IP=" + IP + ", portNumber=" + portNumber + "]";
	}
	

}

3、導出jar包:

步驟一:

 

步驟二:

步驟三:

二、通過安裝exe4j軟件,將jar包制作成可執行的exe格式文件(注意:此時的exe格式文件只是可以執行,但是不可以安裝):

1、下載exe4j軟件,然后按照正常的進行安裝即可:

2、步驟一:

3、步驟二:

4、步驟三:注意選擇路徑的時候一定要選擇存放有jar包、jre等文件的文件夾所在的路徑,這也是輸出.exe格式文件的路徑,強烈建議這樣寫;

5、步驟四:填寫可執行exe文件名稱、選擇exe可執行程序的圖標、一台計算機上是否只允許有一個該程序啟動;

非常注意ICO格式的文件一定是通過PS輸出ICO格式的圖片,不能夠將其它格式文件強制修改為ICO格式文件,否則會報異常:

java.io.IOException:icon file does not contain icon data

6-1、步驟五-1:設置編碼格式為UTF-8輸入內容是:-Dfile.encoding=utf-8

如果不設置編碼格式的話,服務端傳遞給客戶端的中文會在客戶端中顯示會變為亂碼;

6-2、步驟五-2:將項目導出的jar包添加進來,非常注意:此時的jar包路徑一定要相對路徑,因為上述選擇輸出.exe格式文件的路徑就是jar包所在文件夾的路徑,即exe4j軟件工作空間就是jar包所在的路徑,相對路徑是相對於工作空間來說的,因為jar包就在工作空間的根目錄下,因此只接寫jar包的文件名+格式即可

7、步驟六:選擇執行項目時,首先執行的第一個java類,類似於在BS項目中,訪問某個項目時設置訪問首頁一樣;

8、步驟七:項目的jar包和項目訪問的首類設置好后,直接next下一步即可;

9、步驟八:利用exe4j制作的.exe格式文件默認的是32位操作系統的文件,如果要制作64位操作系統的文件,可以按照下圖進行選擇設置;

10、步驟九:設置程序運行時jre的版本范圍;

11、步驟十:因為創建的是java項目,項目最終是要在jvm上進行運行的,如果要用戶自己安裝jdk,配置環境變量非常的不方便,因此可以制作的過程中將jre封裝進行,可以自己設定好運行環境jre的版本,讓用戶更加方便的使用程序,下圖是為程序設定Jre運行環境的步驟:非常注意:jre要放在和jar包同級目錄下,這樣就可以寫相對目錄了,否則容易出現文件

12、步驟十一:以后直接默認next即可:

三、通過安裝Inno setup軟件,將可執行的.exe文件、jar文件、jre文件封裝到一個可以安裝的.exe文件:

1、安裝Inno setup軟件,並啟動該軟件:

2、默認next即可:

3、設置程序安裝時默認創建的安裝文件夾以及程序的版本號等信息:

4、默認next即可:

5、選擇可執行的.exe格式文件的目錄:

6、將可執行的.exe文件、jar包、jre文件所在的文件夾添加進來,並且將該文件夾內的所有文件均添加進來,這樣可以設置成相對路徑了就:

7、默認next即可:

8、在.exe文件、jar包、jre文件所在的文件夾內創建1.txt、2.txt、3.txt三個文本文件,並按照下圖依次設置即可,我也不知具體原因,可能是要存儲一些運行過程中的信息吧:

9、默認next即可:

10、設置輸出可安裝的.exe格式文件的位置輸出的.exe格式的文件名稱、可安裝程序的桌面圖標,

非常注意

(1)可安裝的.exe格式文件輸出位置一定也要是jar包、jre文件、可執行.exe文件所在的文件夾;

(2)ICO格式的文件一定是通過PS輸出ICO格式的圖片,不能夠將其它格式文件強制修改為ICO格式文件,否則會報異常:

java.io.IOException:icon file does not contain icon data

11、直接默認next,按照圖片上步驟進行即可:

12、制作完畢,現在可以看一下可以安裝的.exe格式文件了:

13、最終,只需要將可安裝的exe文件,即上圖片中的setup.exe(存儲大的exe文件)發給用戶安裝即可,其它的jar包、jre、可執行exe等文件都封裝在了可安裝exe文件內,只用可安裝的exe程序即可;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM