bat脚本调用java程序

为解决开发过程中因依赖系统未完成而导致无法提供真实数据的问题,本文介绍了一种通过编写逻辑并打包为jar文件的方法来生成虚拟数据,以供前端测试使用。文章详细说明了创建bat脚本来运行jar文件的过程及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



最近开发过程中遇到了个问题,就是我们的后台给前端提供的数据是来自另一个系统里,但是这个系统还没做好,就是我们只能是把后台逻辑写好但是返回给前端的数据其实是没有的,没有数据就反应不出程序是否有问题,所以我们必须要自己造点数据,我们把逻辑写好,导出一个jar包,同时制作一个bat脚本去执行这个jar包,这样测试兄弟就可以每天需要数据的时候执行一下即可。

步骤是:

  新建一个文件夹,放入打包的jar

 说到打包jar,还有个插曲,第一次打包运行bat出现“没有主清单属性”!

解决办法:

参考:http://blog.youkuaiyun.com/dongsheng186/article/details/46635915

新建文件,该后缀名为bat,内容是:@echo off


java -jar -Xms4000m -Xmx4000m -Xmn2000m testbat.jar


@pause


保存即可,双击这个bat就可以执行jar包的程序。

其实还可能存在一个问题,就是你运行的地方有没有java环境,可能没有java环境是不能执行这个程序的,我没有尝试,有机会试试,在更新下此文。

### 如何从 Java 代码执行 Windows BAT 脚本 为了实现从 Java 程序调用并运行 Windows 的 `.bat` 文件,可以利用 `Runtime.getRuntime().exec()` 方法来启动一个新的进程。下面是一个完整的例子展示如何创建一个简单的 Java 类用于执行指定路径下的批处理文件。 #### 创建 Java 类以执行 Batch 文件 ```java package com.example; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class ExecuteBatch { public static void main(String[] args) { try { // 定义要执行的 bat 文件路径 String filePath = "C:\\path\\to\\yourfile.bat"; ProcessBuilder pb = new ProcessBuilder(filePath); pb.redirectErrorStream(true); // 启动新进程 Process process = pb.start(); List<String> outputLines = new ArrayList<>(); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null){ System.out.println(line); outputLines.add(line); } int exitCode = process.waitFor(); System.out.println("\nExited with code: " + exitCode); } catch (Exception e) { e.printStackTrace(); } } } ``` 此段代码展示了怎样构建一个能够读取外部命令输出以及等待该命令完成的方法[^1]。 使用 `ProcessBuilder` 来设置工作目录、环境变量和其他参数会更加灵活方便;而通过重定向错误流至标准输入流,则简化了日志记录逻辑[^3]。 当涉及到更复杂的场景比如传递参数给 batch 文件时,可以在定义 `filePath` 变量的时候直接加入这些参数作为字符串的一部分,或者使用数组形式传入多个参数给 `ProcessBuilder`.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值