java 调用jar_在Java程序中执行另一个jar
希望这可以帮助:public class JarExecutor {private BufferedReader error;private BufferedReader op;private int exitVal;public void executeJar(String jarFilePath, List args) throws JarExecutorException {
// Create run arguments for the
final List actualArgs = new ArrayList();
actualArgs.add(0, "java");
actualArgs.add(1, "-jar");
actualArgs.add(2, jarFilePath);
actualArgs.addAll(args);
try {
final Runtime re = Runtime.getRuntime();
//final Process command = re.exec(cmdString, args.toArray(new String[0]));
final Process command = re.exec(actualArgs.toArray(new String[0]));
this.error = new BufferedReader(new InputStreamReader(command.getErrorStream()));
this.op = new BufferedReader(new InputStreamReader(command.getInputStream()));
// Wait for the application to Finish
command.waitFor();
this.exitVal = command.exitValue();
if (this.exitVal != 0) {
throw new IOException("Failed to execure jar, " + this.getExecutionLog());
}
} catch (final IOException | InterruptedException e) {
throw new JarExecutorException(e);
}}public String getExecutionLog() {
String error = "";
String line;
try {
while((line = this.error.readLine()) != null) {
error = error + "\n" + line;
}
} catch (final IOException e) {
}
String output = "";
try {
while((line = this.op.readLine()) != null) {
output = output + "\n" + line;
}
} catch (final IOException e) {
}
try {
this.error.close();
this.op.close();
} catch (final IOException e) {
}
return "exitVal: " + this.exitVal + ", error: " + error + ", output: " + output;}}
java 调用jar_在Java程序中执行另一个jar相关推荐
- gettext 国际化_如何使用Gettext在Phoenix应用程序中执行本地化
gettext 国际化 by Anastasia 由Anastasia 如何使用Gettext在Phoenix应用程序中执行本地化 (How to perform localization in Ph ...
- 区分execl与system——应用程序中执行命令
execl: 相关函数:fork, execle, execlp, execv, execve, execvp 表头文件:#include <unistd.h> 函数定义:int exec ...
- angular发布代码有缓存_如何在Angular应用程序中执行请求?
全文共5358字,预计学习时长16分钟 来源:Pexels 本文将讨论如何在Angular应用程序中执行请求. 1. 使用拦截器来装饰请求 2. HttpClient 与HttpBackend的对比 ...
- 在Web应用程序中执行常见搜索场景的服务器端方法
目录 介绍 例子 添加搜索模型 修改Home控制器 修改Home视图 介绍 应用程序中需要的一个常见场景是针对某个搜索值搜索数据模型.由于http协议的性质(无状态): 搜索结果的提交将再次呈现页面. ...
- 利用c#实现远程注入非托管WIN32程序,并利用嵌入汇编调用非托管WIN32程序中的内部过程...
c#通过调用windows API函数,可以很轻松的完成非托管WIN32程序的注入.内存读写等操作,以下为c#实现远程注入非托管WIN32程序,并利用嵌入汇编调用非托管WIN32程序中的内部过程的源码 ...
- 【Python3.7】就餐人数:在为完成练习 9-1 而编写的程序中,添加一个名为 number_served 的属性,并将其默认值设置为 0。根据这个类创建一个名为 restaurant 的实例
# [Python3.7]就餐人数:在为完成练习 9-1 而编写的程序中,添加一个名为 number_served的属性,并将其默认值设置为 0.根据这个类创建一个名为 restaurant 的实例: ...
- 在h5页面中调起支付宝小程序中的某一个页面以及URLScheme 之 支付宝
在h5页面中调起支付宝小程序中的某一个页面 直接上代码: window.location.href = 'alipays://platformapi/startapp?appId=2021001181 ...
- Java调用python打包的程序.exe,包括获取exec()中打印的日志,亲测有效
python写了一个方法,windows平台上怎么被Java服务调用呢? 最简单的办法,python利用pyinstaller打包成.exe程序,Java程序通过Process调用,想同时获取.exe ...
- java如何调用linux命令_java程序中如何调用linux命令
java程序中如何调用linux命令 作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服 ...
最新文章
- 【 MATLAB 】适合初学者的 chirp 理解与推导
- spring入门详细教程(五)
- lvs dr模式安装
- java从远程服务器获取PDF文件并后台打印(使用pdfFox)
- Python程序中各函数间调用关系分析与可视化
- 微型计算机原理IMUL指令,微机原理与系统设计实验
- PPT高手必须树立的十个理念
- 如何高效完成英文文献翻译
- 树莓派做下载机+Web服务器(Aria2下载+yaaw做UI+nginx)
- ADO方法操作数据库
- python中numpy.random.gamma()函数
- 工具:通过Python fitz 提取PDF内的图片
- ubuntu下docker的lnmp(二) 安装php-fpm之 下载镜像启动容器
- 使用Windows驱动的虚拟打印机,打印Excel表格无表格线问题解决(1)
- 图像处理中的梯度、导数如何求?(Robert算子,Sobel算子,Prewitt算子,Laplace算子)
- 苹果手机计算机怎样拉到桌面,苹果手机怎样才能快速投屏到电脑屏幕上
- 我劝你最好别偷看我的HTTP总结
- C语言指针 *p++和*++p及++*p的区别
- 震惊!!原来JDK的下载竟如此简单!!(附详细教程)
- V-REP:虚拟机器人实验平台