网站首页 > java教程 正文
这篇文章主要介绍了java 启动exe程序,传递参数和获取参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
1、java中启动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中,第一个参数所要启动的EXE程序,第二个参数为 传参;
2、在exe程序中获取 传递的参数
在步骤一中打开的“hh.exe”程序,也是基于java编写的。
我们打印一下main方法的args[],即可拿到由上一个程序传递的参数
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);//结束 当前进程
补充:java程序生成带参数的可执行exe文件
简介
最近写了一个代码生成工具,可根据一些简单的配置自动生成model、dao、service、serviceImpl和controller层的代码,减少冗余代码的开发量。听取了同事的建议,把工具制作成可执行工具,这样可保证生成工具的独立性,并且工具对原来的项目代码不存在依赖。
环境配置
1、JDK环境
2、idea或Eclipse
3、exe4j 下载地址:https://www.ej-technologies.com/download/exe4j/files
操作步骤
- 1、将java程序打成jar包(不管你是web项目还是java application)。
在idea中打jar包的方式为:File->File Structrue->Atifacts->选择"+"Add jar(From modules with dependencies…) ,然后选择项目点击OK->Build->Build Atifacts->Build or Rebuid。
- 2、使用exe4j将打包好的jar包生成exe可执行文件。
(1)下载并安装exe4j,进入安装目录的bin文件夹下,双击打开"exe4j.exe"
(2)点击next,选择"JAR in EXE" mode
(3)点击next,输入将要生成的应用的名称和生成exe文件的路径
(4)点击next,这里注意点击32-bit or 64-bit,如果是64位JDK环境,就勾选"Generate 64-bit executable"
(5)点击next,输入Executable name,并选中Console application,表示我们以命令行窗口的形式运行生成工具
(6)点击next,右侧点击绿色“+”,Archive处选择生成的jar文件,然后选择jar文件中的主程序Main所在类
(7)点击next,输入JRE的环境配置
(8)连续点击next,进入到如下界面:
到此exe文件就生成成功了
运行
生成的exe文件在第三步设置的输出路径中,
- 1、进入cmd命令行窗口,进入exe文件所在目录。
- 2、输入生成的exe文化的名称即可执行该exe文件,如本例中输入"cg.exe"即可运行文件
可带参数运行的可执行文件
通常我们想要在运行时指定配置参数,这时,我们只需要在"cg.exe"后面接上空格和参数,如"cg.exe -t",在java程序Main方法中:public static void main(String[] args) args数组 可以接收到跟在命令行后面的参数。
注意事项
- 1、如果你的JDK环境为64位,第(4)步切记勾选"Generate 64-bit executable"
- 2、运行可执行文件就是不输出,可能为第(5)步忘记勾选Console application。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持小编创作不易。如有错误或未考虑完全的地方,望不吝赐教。
猜你喜欢
- 2025-04-11 Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- 2025-04-11 Java接口设计原则与实践:优雅编程的艺术
- 2025-04-11 java 包管理、访问修饰符、static/final关键字
- 2025-04-11 Java工程师的代码规范与最佳实践:优雅代码的艺术
- 2025-04-11 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- 2025-04-11 Mycat的搭建以及配置与启动(mycat部署)
- 2025-04-11 Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- 2025-04-11 SpringBoot打包部署解析:jar包的生成和结构
- 2025-04-11 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 2025-04-11 你认为最简单的单例模式,东西还挺多
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)