Где я могу найти конфигурационный файл, который указывает на мою JRE?

#java

#java

Вопрос:

У меня есть следующий метод, который раньше работал нормально :

   private static boolean exec(String command,boolean printResults,boolean wait)
  {
    String Command_List[],Command_Array[]=command.split(" ");
    Process p;

    Result_String="";
    Result_String_With_System_Prompt="";

    try
    {
      Command_List=new String[Command_Array.length 2];
      Command_List[0]="cmd";
      Command_List[1]="/c";
      for (int i=0;i<Command_Array.length;i  ) Command_List[i 2]=Command_Array[i];

      System.out.println("Command_List = " Arrays.toString(Command_List));
      ProcessBuilder pb=new ProcessBuilder(Command_List);  // new ProcessBuilder("cmd","/c","java","-version");

      pb.redirectErrorStream(true);
      p=pb.start();

      // Print the output. Since we read until there is no more input,this causes us to wait until the process is completed
      if (printResults)
      {
        BufferedInputStream buffer=new BufferedInputStream(p.getInputStream());
        BufferedReader command_Result=new BufferedReader(new InputStreamReader(buffer));

        while ((Last_String=command_Result.readLine()) != null)
        {
            System.out.println(Last_String);
            Result_String =Last_String "n";
            Result_String_With_System_Prompt =Last_String "n" System_Prompt;
         }
         command_Result.close();
      }
  }
  catch (Exception e) { ... }
}
 

Он работал нормально до сегодняшнего утра, я увидел диалоговое окно от Oracle, в котором говорилось, что Oracle JDK больше не является бесплатным… спросив меня, хочу ли я обновить или нет, я сказал «нет», и он удалил мои старые версии Java [JRE], затем я сам установил бесплатный OpenJDK 12, и я проверил, открыв окно командной строки и набрав «java -version», я получил следующий вывод :

 C:UsersUSER>java -version
openjdk version "12" 2019-03-19
OpenJDK Runtime Environment AdoptOpenJDK (build 12 33)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 12 33, mixed mode, sharing) 
 

Итак, после этого я запускаю описанный выше метод, но я получил следующее сообщение об ошибке :

 Command_List = [cmd, /c, java, -jar, C:/Dir_ProGuard/proguard6.0.3/lib/proguard.jar, @C:/Dir_Run_ProGuard/XYZ.pro, -verbose]
Error: could not open `C:Program FilesJavajre1.8.0_91libamd64jvm.cfg'
 

Затем я зашел в панель управления системой, чтобы проверить свой путь к классу, ни один из них не указывает на jre1.8.0_91, поэтому мой вопрос: где эта информация «jre1.8.0_91», сохраненная в файле конфигурации, чтобы я мог перейти туда и обновить ее до моей последней версии JRE 12?

Комментарии:

1. Круто, ошибка в деинсталляторе Oracle:-(. Это ‘$ window $ так что это может быть запись реестра, а не файл конфигурации.

2. Убедитесь, что ваша системная переменная PATH имеет ваш OpenJDK path первым в списке, который указывает на что-либо «связанное с Java». Дважды проверьте переменную среды %java_home% и, если вы используете IDE (eclipse, IntelliJ, netbeans и т. Д.), Убедитесь, что вы переключили среду сборки на JDK12 (насколько я знаю, больше нет JRE, начиная с Java ~ 10ish)

3. Oracle JDK больше не является бесплатным?

Ответ №1:

Какой простой ответ, но я не понял, что теперь, после повторного запуска Windows, он работает правильно. Так что просто нужна перезагрузка!