У меня есть программа на Java с кодом:
public class Test1 {
public static void main(String args[]) throws InterruptedException,
IOException {
String cmd = "cmd /c start test.bat";
Process p = Runtime.getRuntime().exec(cmd);
InputStream stderr = process.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null){
System.out.println(line);}
p.waitFor();
int exitVal = p.exitValue();
System.out.println(exitVal);
}
}
test.bat выполняет другую программу, которая имеет следующий код:
public class ConnectionTest {
public Connection getConn throws SQLException{
Connection conn = null;
Statement st = null;
ResultSet rs = null;
String driverName = "com.ibm.db2.jcc.DB2Driver22222";
try {
Class.forName(driverName).newInstance();
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
;;;;
;;;;
;;;
;;;
Но из Test1 значение выхода всегда равно 0. КАК приехать, когда пакет будет выполнен, он запустит
Класс ConnectionTest, и он получит исключение, так как не найдет DB2Driver22222.
Может ли кто-нибудь объяснить мне, почему я не получаю правильный код ошибки или какие-либо сообщения об ошибках.