У меня есть два файла jar с именами test1.jar и test2.jar.
Чтобы выполнить функцию в этом jar-файле, я запускаю команду ниже в cmd.
«Java getOutput аргумент1 аргумент2 аргумент3 аргумент4»
В качестве предварительного условия я установил следующие записи в системных переменных среды для выполнения функции java с помощью приведенной выше команды.
1.CLASSPATH = C: \ Folder \ test1.jar; C: \ Folder \ test2.jar; C: \ Program Files \ Java \ jre1.8.0_181 \ lib \ plugin.jar
2.JAVA_BIN = C: \ Program Files \ Java \ jre1.8.0_181 \ bin
3.JAVA_HOME = C: \ Program Files \ Java \ jre1.8.0_181
4.PATH = C: \ Program Files \ Java \ jre1.8.0_181 \ bin
Вывод вышеуказанной команды представляет собой строку.
У меня есть другой код Java. Я должен захватить вышеуказанный вывод строки в переменной в моей Java-программе, и я могу сделать это, используя приведенный ниже Java-код в eclipse.
String strArgs= strArg1+" "+strArg2+" "+strArg3+" "+strArg4;
Process p=Runtime.getRuntime().exec("cmd /c java getOutput "+strArgs+"");
BufferedReader input =new BufferedReader(new
InputStreamReader(p.getInputStream()));
String strOutput = input.readLine();
if (strOutput != null) {
System.out.println(strOutput);
String strVariable = strOutput;
input.close();
}else {
System.out.println("FAIL- Output not generated");
}
Чтобы выполнить приведенный выше код в Unix, я заменяю строку 2 на «Process p = Runtime.getRuntime (). Exec (« usr / bin / java getOutput »+ strArgs +» «);» , преобразуйте Java-проект eclipse в jar-файл с именем Automation.jar. И я пытаюсь выполнить этот файл JAR на Unix, используя следующую команду.
`java -cp Automation.jar Package.MainClass. '
Когда я запускаю код, я получаю вывод как ноль. Но когда я запускаю команду в командной строке Windows, я получаю строку вывода.
Не могли бы вы помочь мне с тем, как установить системные переменные в Unix и выполнить вышеуказанную операцию для генерации строкового вывода.
Пожалуйста, дайте мне знать, если требуется дополнительная информация.