Что не так с моей установкой JDK?

Я отключил бы все загружающееся кроме жесткого диска и видел бы, можно ли загрузить его. Если Вы действительно не можете загрузиться от него, начальная загрузка в живом и выполнять диагностику на диске с smarttools. Можно обычно сходить с рук короткий тест (занимает приблизительно две минуты).

1
21.12.2014, 16:28
1 ответ

Команды ищутся в $PATH в порядке, в котором перечислены каталоги. В Вашем случае вероятно из Вашего описания, что существует нет /home/rumtscho/bin/javac, нет /usr/local/bin/javac, но a /usr/bin/javac это - компилятор Java GCC (или символьная ссылка на него).

SuSE имеет механизм “альтернатив” для обработки программ, которые имеют несколько реализаций. Согласно документации SuSE относительно установки Java, пакеты Java SuSE используют этот механизм. Если пакет Oracle уважает этот интерфейс, то выполненный

update-alternatives --config javac

выбрать Ваш любимый компилятор Java (необходимо сделать то же с java выбрать среду выполнения соответствия).

Если двоичный файл Oracle не упоминается в списке, можно вручную переключиться на него:

ln -snf /usr/java/jdk1.7.0_04/bin/{java,javac} /etc/alternatives/

Кроме того (но это не рекомендуется, если метод альтернатив работает), можно создать символьную ссылку на предпочтенный javac в Вашем ~/bin каталог (установка в расчете на пользователя) или в /usr/local/bin (в масштабе всей системы устанавливающий).

ln -s ../../java/jdk1.7.0_04/bin/javac /usr/local/bin

Иначе должен был бы переупорядочить Ваш PATH иметь каталог Oracle JDK сначала. В Вашем ~/.profile, удостоверьтесь, что добавили /usr/java/jdk1.7.0_04/bin в начале Вашего PATH. Можно воспользоваться возможностью для удаления его, если это уже было в $PATH, избегать дублирующихся записей (которые безопасны за исключением очень небольшого замедления при поиске команды в конце $PATH или поиск несуществующего названия команды).

prepend_to_path () {
  PATH=":$PATH:"
  case "$PATH" in
    *":$1:"*) PATH="${PATH%%":$1:"*}:${PATH#*":$1:"}";;
  esac
  PATH="$1${PATH%:}"
}
prepend_to_path /usr/java/jdk1.7.0_04/bin
2
27.01.2020, 23:39
  • 1
    я просто нашел символьную ссылку под альтернативами и изменил его, и все работало. Я был занят, пишущий это в моем собственном ответе, когда Вы отправили Ваш, намного больше полного ответа.Спасибо! –  rumtscho 01.06.2012, 03:57
  • 2
    Хотя alternatives не работал на меня (это придумало только один), это дало мне правильное направление. Фиксация символьной ссылки вручную добилась цели. –  JensG 21.12.2014, 15:23

Теги

Похожие вопросы