При использовании установки VMware Linux с SQL Developer и после обновления пакетов, возможно SQL Developer не удастся запустить. Попробовав запустить из командной строки, он генерирует ошибку вроде:
Oracle SQL Developer Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. /opt/sqldeveloper/sqldeveloper/bin/../../ide/bin/launcher.sh: line 954: [: : integer expression expected The JDK (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.fc30.x86_64/) is not a valid JDK. The JDK was specified by a SetJavaHome directive in a .conf file or by a --setjavahome option. Type the full pathname of a JDK installation (or Ctrl-C to quit), the path will be stored in /home/student/.sqldeveloper/19.2.0/product.conf Error: Unable to get APP_JAVA_HOME input from stdin after 10 tries
Ошибка проста, обновление пакета разработчика SQL стерло конфигурацию переменной SetJavaHome в файле пользователя ~/.sqldeveloper/19.2.0/product.conf. Исправление состоит из трех шагов, поскольку весьма вероятно, что пакеты Java также были обновлены. Вот как это исправить:
- Перейдите в каталог, в который вы установили виртуальную машину Java (JVM), и найдите текущую версию установленной JVM:
cd /usr/lib/jvm ls java*
Он вернет набор файлов, например:
java java-1.8.0 java-1.8.0-openjdk java-1.8.0-openjdk-1.8.0.252.b09-0.fc30.x86_64 java-openjdk jre jre-1.8.0 jre-1.8.0-openjdk jre-1.8.0-openjdk-1.8.0.252.b09-0.fc30.x86_64 jre-openjdk
- Перейдите к файлу конфигурации продукта вашего пользователя с помощью этой команды:
cd ~/.sqldeveloper/19.2.0
- Добавьте в файл product.conf следующую строку :
# SetJavaHome /path/jdk SetJavaHome /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.В09-0.fc30.x86_64/
Теперь у вас должна быть возможность запускать его из командной строки. Значок ярлыка также должен работать, если он был установлен. Кроме того, не забудьте обновить переменную $JAVA_HOME в главном файле ресурсов Bash или в файле .bashrc локального пользователя.
Как всегда, мы надеемся, что это поможет тем, кто ищет быстрое решение.