java - 如何防止在 child.bat 完成之前终止 parent.bat
问题描述
我正在使用 java 代码通过执行 .bat 文件来生成碧玉报告。
我的 java 代码使用 process.waitsfor() 直到进程完成。
我的java代码
builder = new ProcessBuilder("cmd", "/c", batFilePath, reportName, tmpParFilePath, exportFilePath);
p = builder.start();
//um using threads to consume p.ErrorStream and p.InputStream
p.waitFor();
在我的 parent.bat 文件中,我正在调用 child.bat 文件,并且我不想在 child.bat 文件完成之前终止 parent.bat 文件。
这是我的 parent.bat 文件
@echo off
SET CURRENT_DIR_PATH=%~dp0
rem Parameters (%1 = Report Name, %2 = Non-standard Parameters File, %3 = Export File Name)
%CURRENT_DIR_PATH%reportViewer.bat %1.jasper %2 %3
exit 0
这是我的 child.bat 文件
rem @echo off
rem Parameters (%1 = Report Name, %2 = Non-standard Parameters File)
SET PLANON_JVM_PATH=.\jre\bin
SET VIEWER_JAR_PATH=aia-bi-tools-reportmanager-1.1.jar
SET REPORTS_DIR_PATH=..\reports
SET DATASOURCE_CONFIG_FILE=jdbc.conf
SET PARAMETERS_DIR_PATH=..\reports
SET CURRENT_DIR_PATH=%~dp0
%PLANON_JVM_PATH%\java -jar %CURRENT_DIR_PATH%%VIEWER_JAR_PATH% -
R%CURRENT_DIR_PATH%%REPORTS_DIR_PATH%\%1 -
C%CURRENT_DIR_PATH%%DATASOURCE_CONFIG_FILE% -P%2 -E%3
exit 0
.bat 文件需要进行哪些更改才能完成上述要求
解决方案
推荐阅读
- swift - Swift 无法在循环中推断条件类型
- java - 如何通过您正在扩展的类覆盖方法,同时仍在您正在覆盖的原始类中运行代码?
- java - 我正在使用 MCP,但是当我尝试启动时,它给了我一个 ClassLoader 错误?
- html - application.html.erb 覆盖其他 html 文件
- string - 如何在 Groovy 中截断或删除或删除“:”之后的字符串?
- css - gmail是否阻止了未签名邮件的html样式?
- c - 此代码如何打印用户输入的最后一个单词?
- c# - 当我在不同的 Windows 帐户下运行时,System.Windows.Controls.PrintDialog 引发异常
- pandas - 将行插入到多索引数据帧,以便将其分组在正确的索引级别下
- python - Django:在哪里定义 var(init 或 dispatch)