java 啟動(dòng)exe程序,傳遞參數(shù)和獲取參數(shù)操作
1、java中啟動(dòng)exe程序 ,并添加傳參
String[] cmd = {"hh.exe","12315"};
Process process = null;
try {
ProcessBuilder pb = new ProcessBuilder();
pb.command(cmd);
process=pb.start();
} catch (Exception e) {
e.printStackTrace();
}finally {
if (process != null){
process.destroy();
}
}
在cmd中,第一個(gè)參數(shù)所要啟動(dòng)的EXE程序,第二個(gè)參數(shù)為 傳參;
2、在exe程序中獲取 傳遞的參數(shù)
在步驟一中打開的“hh.exe”程序,也是基于java編寫的。
我們打印一下main方法的args[],即可拿到由上一個(gè)程序傳遞的參數(shù)。
public static void main(String args[]) {
// for (int i=0;i<args.length;i++){
System.out.println(args[i]);
// JOptionPane.showMessageDialog (null, args[i], "日志", JOptionPane.CANCEL_OPTION);
// }
// System.exit(0);//結(jié)束 當(dāng)前進(jìn)程
補(bǔ)充:java程序生成帶參數(shù)的可執(zhí)行exe文件
簡介
最近寫了一個(gè)代碼生成工具,可根據(jù)一些簡單的配置自動(dòng)生成model、dao、service、serviceImpl和controller層的代碼,減少冗余代碼的開發(fā)量。聽取了同事的建議,把工具制作成可執(zhí)行工具,這樣可保證生成工具的獨(dú)立性,并且工具對原來的項(xiàng)目代碼不存在依賴。
環(huán)境配置
1、JDK環(huán)境
2、idea或Eclipse
3、exe4j 下載地址:https://www.ej-technologies.com/download/exe4j/files
操作步驟
1、將java程序打成jar包(不管你是web項(xiàng)目還是java application)。
在idea中打jar包的方式為:File->File Structrue->Atifacts->選擇"+"Add jar(From modules with dependencies…) ,然后選擇項(xiàng)目點(diǎn)擊OK->Build->Build Atifacts->Build or Rebuid。
2、使用exe4j將打包好的jar包生成exe可執(zhí)行文件。
(1)下載并安裝exe4j,進(jìn)入安裝目錄的bin文件夾下,雙擊打開"exe4j.exe"

(2)點(diǎn)擊next,選擇"JAR in EXE" mode

(3)點(diǎn)擊next,輸入將要生成的應(yīng)用的名稱和生成exe文件的路徑

(4)點(diǎn)擊next,這里注意點(diǎn)擊32-bit or 64-bit,如果是64位JDK環(huán)境,就勾選"Generate 64-bit executable"

(5)點(diǎn)擊next,輸入Executable name,并選中Console application,表示我們以命令行窗口的形式運(yùn)行生成工具。

(6)點(diǎn)擊next,右側(cè)點(diǎn)擊綠色“+”,Archive處選擇生成的jar文件,然后選擇jar文件中的主程序Main所在類

(7)點(diǎn)擊next,輸入JRE的環(huán)境配置

(8)連續(xù)點(diǎn)擊next,進(jìn)入到如下界面:

到此exe文件就生成成功了
運(yùn)行
生成的exe文件在第三步設(shè)置的輸出路徑中,
1、進(jìn)入cmd命令行窗口,進(jìn)入exe文件所在目錄。
2、輸入生成的exe文化的名稱即可執(zhí)行該exe文件,如本例中輸入"cg.exe"即可運(yùn)行文件
可帶參數(shù)運(yùn)行的可執(zhí)行文件
通常我們想要在運(yùn)行時(shí)指定配置參數(shù),這時(shí),我們只需要在"cg.exe"后面接上空格和參數(shù),如"cg.exe -t",在java程序Main方法中:public static void main(String[] args) args數(shù)組 可以接收到跟在命令行后面的參數(shù)。
注意事項(xiàng)
1、如果你的JDK環(huán)境為64位,第(4)步切記勾選"Generate 64-bit executable"
2、運(yùn)行可執(zhí)行文件就是不輸出,可能為第(5)步忘記勾選Console application。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
springboot中將日志信息存儲(chǔ)在catalina.base中過程解析
這篇文章主要介紹了springboot中將日志信息存儲(chǔ)在catalina.base中過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
SpringCloud中的路由網(wǎng)關(guān)鑒權(quán)熔斷詳解
這篇文章主要介紹了SpringCloud中的路由網(wǎng)關(guān)鑒權(quán)熔斷詳解,Hystrix是一個(gè)用于處理分布式系統(tǒng)的延遲和容錯(cuò)的開源庫,在分布式系統(tǒng)里,許多依賴不可避免的會(huì)調(diào)用失敗,比如超時(shí)、異常等,需要的朋友可以參考下2024-01-01
Java成員變量與局部變量(動(dòng)力節(jié)點(diǎn)Java學(xué)院整理)
這篇文章主要介紹了Java成員變量與局部變量的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-04-04
Java實(shí)現(xiàn)的對稱加密算法AES定義與用法詳解
這篇文章主要介紹了Java實(shí)現(xiàn)的對稱加密算法AES,結(jié)合實(shí)例形式分析了對稱加密算法AES的定義、特點(diǎn)、用法及使用場景,需要的朋友可以參考下2018-04-04
SpringBoot工程打包后執(zhí)行Java?-Jar就能啟動(dòng)的步驟原理
這篇文章主要介紹了SpringBoot工程打包后為何執(zhí)行Java?-Jar就能啟動(dòng),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05
mybatis-plus3.0.1枚舉返回為null解決辦法
這篇文章主要介紹了mybatis-plus3.0.1枚舉返回為null解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
rabbitmq消息ACK確認(rèn)機(jī)制及發(fā)送失敗處理方式
這篇文章主要介紹了rabbitmq消息ACK確認(rèn)機(jī)制及發(fā)送失敗處理方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12

