Как предотвратить openjdk-6-jre-headless от забивания установки Oracle JDK?

Мой автоматизированный сервер сборки выполняет задание, которое зависит от Apache Ant . Сценарий вызывает apt-get install ant. Ant зависит от openjdk-6-jre-headless, который запускает update-alternatives, делая себя JDK по умолчанию (переписывая мои символические ссылки в процессе). У меня уже был установлен Oracle JDK (вручную), и я не хочу запускать update-alternatives. Я не могу вручную восстановить update-alternatives каждый раз, когда это происходит.

Кто-то пытался исправить это в прошлом году, но был сбит: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=678195

Как я могу запретить openjdk-6-jre-headless вызывать update-alternatives или, в худшем случае, как мне найти значение до процесса установки и восстановить его по факту?

ОБНОВЛЕНИЕ : Я подал новый отчет об ошибке здесь . Буду признателен за вашу поддержку.

7
задан 11 September 2013 в 05:27

1 ответ

Отвечая на мой собственный вопрос:

Я использовал https://askubuntu.com/a/55960/23678 для установки Oracle JDK. Как видите, эти инструкции вызывают update-alternatives с приоритетом 1. Когда openjdk-6-jre-headless устанавливает себя, он устанавливает приоритет 1061 (где более высокий приоритет заменяет более низкий).

Чтобы решить эту проблему, я просто дал Oracle JDK приоритет выше 1061. Когда openjdk-6-jre-headless установился сам, он больше не перекрывал Oracle JDK по умолчанию.

ОБНОВЛЕНИЕ : Чтобы обновить приоритеты OpenJDK, я просто перезапустил:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 2000
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 2000
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 2000

с приоритетом 2000 вместо 1 (приоритет - последний аргумент командной строки).

0
ответ дан 11 September 2013 в 05:27

Другие вопросы по тегам:

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