Я могу запустить следующий через Баш и он будет работать:Java среда Exec PSQL каротаж
psql -h <host> -p <port> -d <dbname> -U <username> -w -v username="'user'" -v rid=2 -c '\ir ../../../resources/sql/myFile.sql'
Когда я пытаюсь запустить команду в Java с помощью следующих, он ничего не делает, но это Безразлично» t также выдает ошибку. Есть ли способ, которым я могу зарегистрировать то, что делает exec на Java, поэтому я могу понять, почему он не работает?
try {
String line;
log.error("Working Directory = " +
System.getProperty("user.dir"));
Process p = Runtime.getRuntime().exec("psql -h <host> -p <port> -d <dbname> -U <username> -w -v username=\"'user'\" -v " +
"rid=2 -c '\\ir sql/myFile.sql'");
log.error("HERE");
BufferedReader input =new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
log.error(line);
}
input.close();
log.error("here2");
} catch (Exception e) {
log.error("Error occurred" + e.toString());
}
ЗДЕСЬ и здесь2 распечатайте консоль, но ничего не произошло.
Значение выхода Процесс 1.