Вызов программы Java с помощью вызова System.console().readPassword() из сценария оболочкиJAVA

Программисты JAVA общаются здесь
Anonymous
Вызов программы Java с помощью вызова System.console().readPassword() из сценария оболочки

Сообщение Anonymous »

У нас есть стороннее Java-приложение, использующее метод System.console().readPassword(). Его нельзя изменить. Нам нужно вызвать его из неинтерактивного сценария оболочки, который должен передать пароль этому приложению. Передача пароля в приложение не работает. Есть ли способ сделать это?
Тестовая программа:
import java.io.Console;

public class Main {

public static void main(String[] args) throws Exception {
Console console = System.console();
if (console == null) {
System.err.println("Cannot acquire console");
System.exit(-1);
}
char[] passwordArray = console.readPassword("Enter password: ");
System.out.println("Password: " + String.valueOf(passwordArray));
}
}

Тестовый сценарий оболочки, который не работает:
#!/bin/sh
export TEST_PASSWORD="test password"
echo "Test Password: $TEST_PASSWORD"
echo $TEST_PASSWORD | java Main


Подробнее здесь: https://stackoverflow.com/questions/790 ... a-shell-sc

Вернуться в «JAVA»