腾讯大佬详细讲解Java 启动exe程序,传递参数和获取参数

createh52周前 (12-17)技术教程11

这篇文章主要介绍了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。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持小编创作不易。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

java命令行参数 java命令行参数表示形式

命令行参数就是main方法里面的参数String[] args他就是一个数组,args只是数据类型的一个名称,就是一个数组的变量,名称无所谓,类型没变就行了。这个就是程序的入口点。如图7.4所示:图7...

Java程序的入口参数——main方法详解

//Java程序的入口参数——main方法public static void main(String[] args){......}public修饰符:Java类调用由JVM调用,为了让JVM可以自...

WebService的发布与调用 webservices调用

WebService 简介首先先说一下,什么是webService,webService也是一种CS结构的WEB服务,C呢就是Client(客户端),S呢就是Server(服务端),webServic...

java面试题|JVM调优常用JVM参数代码实例简介

JVM(Java Virtual Machine)启动参数用于配置Java应用程序的运行时环境,包括内存管理、垃圾回收(GC)算法、性能调优和日志记录等。# JVM启动参数,不换行格式 # 设置堆内...

基于容器的Java内存参数解析 java内置容器

在基于物理的服务器(此处主要与容器平台进行区分,故此描述)上运行Java应用程序时,我们通常会使用Java虚拟机参数"-Xms、-Xmx"来指定Java堆内存的初始值和最大值。如果要将...

JVM三大性能调优参数Xms,Xmx,Xss的含义,你又知道多少呢

我们在程序运行中,经常会遇到各种各样的问题,比如说,我们会遇到内存大小需要调,或者说并发线程数需要调整,遇到这个情况的时候该怎么办呢,接下来我们就一起学习怎么给JVM调优。JVM三大性能调优参数 -X...