IDEA 打包 可執行 Jar 程式
阿新 • • 發佈:2019-01-30
本文導讀
- Java SE 專案通常會用來封裝工具類,此時如果要打包(Jar包),建議使用Maven更加簡單,本文不做描述
- Java SE 專案如果使用了awt、swing,Java FX,則可以用來做GUI程式;否則可以做普通的後臺程式,即不需要使用者介面的程式。無論哪種都應該匯出為可執行Jar檔案,即類似exe程式一樣,雙擊即可執行。可執行Jar程式放到任何安裝了Java JRE或者JDK電腦上雙擊都能執行
- 本文以一個Java SE 普通後臺程式和一個Java FX GUI程式為例進行說明
Java SE 應用
新建應用
應用編碼
- 程式很簡單,以後雙擊jar檔案時,就會寫日誌,支援使用者輸入命令列引數,使用者輸入什麼,全部列印到日誌檔案中
package com.lct.utils; import org.apache.commons.lang3.StringUtils; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.ResourceBundle; /** * Created by Administrator on 2018/6/29 0029. * 日誌工具類 */ public classLogWmxUtils { private static final String LOG_DIR_PATH; static { ResourceBundle resourceBundle = ResourceBundle.getBundle("system"); LOG_DIR_PATH = resourceBundle.getString("logDirPath"); } /** * 寫入日誌 * * @param message */ public static final void writeLine(String message) { try { if (StringUtils.isNotBlank(message)) { File logDir = new File(LOG_DIR_PATH); if (!logDir.exists()) { logDir.mkdirs(); } SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String logName = simpleDateFormat1.format(new Date()); String messageHead = simpleDateFormat2.format(new Date()); File logFile = new File(logDir, logName + ".log"); FileWriter fileWriter = new FileWriter(logFile, true); fileWriter.write(messageHead + ":" + message + "\r\n"); fileWriter.flush(); fileWriter.close(); } } catch (IOException e) { e.printStackTrace(); } } }
package com.lct.main; import com.lct.utils.LogWmxUtils; import java.util.concurrent.TimeUnit; /** * Created by Administrator on 2018/6/29 0029. * 應用程式入口 * 程式執行完成後,就會自動退出 */ public class MainApp { public static void main(String[] args) { try { /** 主要介紹方式,所以編碼很簡單*/ StringBuffer stringBuffer = new StringBuffer(); if (args != null && args.length > 0) { stringBuffer.append("User input parameters:"); for (String arg : args) { stringBuffer.append(arg + " "); } } else { stringBuffer.append("User input parameters are empty"); } LogWmxUtils.writeLine(stringBuffer.toString()); /** 延時10秒,模擬程式執行任務*/ TimeUnit.SECONDS.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } }
生成jar可執行檔案
執行測試
- 可以將此 可執行jar檔案 拷貝到任意安裝了Java 環境的電腦上執行,如下所示雙擊執行之後,可在工作管理員中看到一個"javaw.exe"的虛擬機器程序
- 如果china.jar在已經執行的情況下,再次雙擊執行時,則會新開程序進行執行,這時工作管理員就會看到多個程序在執行
Java FX應用
新建專案
- IDEA 新建Java FX 應用可以參考《IDEA JavaFX 開發入門》,此處不再累贅
- 這裡只講 打包成 可執行 Jar檔案,其實與上面的 Java SE應用打包完全一致
生成jar可執行檔案
- 下面是它預設打包的形式,用它可以直接生產exe程式,但是這裡暫時先不講,選中之後點選紅色的橫杆刪除掉,現在不講這種方式
執行測試
- 同樣直接雙擊執行即可,可以看到視窗,也可以看到工作管理員中的javaw.exe程序
- 同樣應用中可以做任意操作,如通訊,網路程式設計,檔案上傳下載,UDP監聽等等,照樣mian方法可以接收引數