Java (російський)

Ця сторінка потребує супровідник

Arch Linux офіційно підтримує відкриту реалізацію OpenJDK версій 7 і 8. Ці версії можуть бути без проблем встановлені одночасно, при цьому перемикання між ними проводиться за допомогою спеціального скрипта archlinux-java. Кілька інших реалізацій доступні в AUR. але вони не підтримуються офіційно.

Наступні пакети доступні в офіційних репозиторіях:

Тексти програм OpenJDK - версія 8

Примітка: JDK має залежність від JRE, тому при установці JDK буде також встановлена ​​JRE.

Примітка: Після установки вам може знадобитися оновити змінну оточення $ PATH. Для цього необхідно відредагувати файл / etc / profile або перезайдіть в середу робочого столу.

Загальні для всіх Java-пакетів пакети java-runtime-common і java-environment-common автоматично встановлюються як залежності і надають файл настройки оточення /etc/profile.d/jre.sh. Цей файл містить всі змінні оточення, необхідні для роботи Java-середовища. Пакет java-runtime-common також надає скрипт archlinux-java. який служить для установки Java-середовища за замовчуванням. Цей скрипт створює символічні посилання / usr / lib / jvm / default і / usr / lib / jvm / default-runtime. які визначають поточну версію Java і поточну виконувану середу (JVM) в / usr / lib / jvm / java- $ мажорная_версія> - $ імя_поставщіка>. Для більшості виконуваних файлів середовища Java створюються прямі посилання в / usr / bin. інші файли доступні в $ PATH.

Важливо: Файл /etc/profile.d/jdk.sh більше не надається жодним із пакетів.

старіння пакетів

Хоча пакети в Arch Linux можуть мати пропрієтарні версії пакетів як залежностей, відкрита реалізація має свою систему версій:

  • Пакети jre7-openjdk. jdk7-openjdk і jre7-openjdk-headless повинні позначатися як застарілі залежно від версії IcedTea (наприклад, 2.4.3), а не їхньою версією реалізації від Oracle (наприклад u45 у випуску 7.u45_2.4.3-1).
  • Пакет icedtea-web повинен позначатися як застарілий в залежності від версії IcedTea Web (наприклад, 1.4.1), і незалежно від версії IcedTea.

Перемикання між середовищами

Для перемикання між середовищами Java використовується скрипт archlinux-java. який надає такі можливості:

Отримання списку встановлених сумісних середовищ Java

Зверніть увагу на слово (default). який позначає поточна вибрати серед Java, в даному прикладі - java-7-openjdk. Запуск конкретного файлу java і інших виконуваних файлів середовища залежить від цієї настройки. Також зверніть увагу, що в наведеному прикладі встановлена ​​тільки виконуюча середовище (JRE) зі складу OpenJDK 8.

Установка середовища Java за замовчуванням

Порада: Використовуйте команду archlinux-java status щоб отримати перелік усіх доступних середовищ Java.

Зверніть увагу, що, якщо ім'я вказано з помилкою, скрипт не виконає ніяких дій. У прикладі з попереднього розділу, встановлений пакет jre8-openjdk. але не jdk8-openjdk. тому ім'я середовища java-8-openjdk в даному випадку невірно:

Скидання налаштувань середовища Java за замовчуванням

Зазвичай, немає необхідності скидати установку середовища Java за замовчуванням. Якщо ви все-таки хочете це зробити, використовуйте команду unset. щоб ніяка середовище більш не використовувати:

Виправлення налаштувань середовища Java за замовчуванням

Якщо в якості середовища за замовчуванням встановлена ​​некоректна Середовище Java, команда archlinux-java fix спробує це виправити. Зверніть увагу, що якщо не була задана Середовище Java за замовчуванням, команда спробує встановити одну з доступних. Офіційно підтримувані пакети "OpenJDK 7" і "OpenJDK 8" мають при цьому більший пріоритет (в такому порядку), ніж неофіційні версії з AUR.

Запуск програми з іншою версією Java

Якщо ви хочете запускати окремий додаток з будь-якої іншої встановленої версією Java, не обов'язково кожен раз перед цим встановлювати її в якості середовища за замовчуванням: ви можете використовувати простий скрипт, який налаштує оточення спеціально для запуску вашого застосування. Наприклад, якщо за замовчуванням використовується jre7, а ви хочете використовувати jre8:

Вимоги до пакетів середовищ для підтримки archlinux-java

Цей розділ призначається для тих, хто здійснює збірку пакетів з альтернативними випусками JVM для AUR. Щоб пакет відповідав прийнятої в Arch Linux схемою з використанням скрипта archlinux-java. він повинен:

  • Поміщати всі файли в / usr / lib / jvm / java- $ номер_мажорной_версіі> - $ імя_поставщіка>.
  • Переконатися, що всі виконувані файли для яких пакетами java-runtime-common і java-environment-common створюються посилання присутні збираному пакеті.
  • Надавати посилання з / usr / bin до виконуваних файлів тільки якщо файли посилань не належать пакетам java-runtime-common і java-environment-common.
  • Імена man-сторінок повинні закінчуватися на - $ номер мажорній версії> - $ ім'я постачальника> для уникнення конфліктів (приклад дивіться в списку файлів jre8-openjdk. Де імена man-сторінок закінчуються на -openjdk8).
  • Чи не оголошувати пакети інших середовищ Java, java-runtime. java-runtime-headless або java-environment як конфліктуючі. а також в якості заміщаються.
  • Використовувати archlinux-java з метою встановлення, щоб встановити середу Java за замовчуванням якщо в даний момент вже не встановлена ​​підходяще середовище (тобто, пакети не повинні примусово встановлювати будь-яку середу Java за замовчуванням). Використовуйте вихідні коди офіційно підтримуваного пакета виконується середовища Java в якості прикладу.

Також, будь ласка, майте на увазі, що:

  • Пакети, яким потрібна будь-яке середовище Java повинні оголошувати про залежність до пакету java-runtime. java-runtime-headless або java-environment. як зазвичай.
  • Пакети, яким потрібна конкретному середовищі Java повинні оголосити про залежність до відповідного пакету.
  • Пакети OpenJDK тепер оголошують про надання функції provides = "java-runtime-openjdk = $". Це дозволяє стороннім пакетам оголошувати про залежність від OpenJDK без зазначення конкретної версії.

Несумісні середовища Java з AUR

Важливо: Пакети в AUR можуть не підтримувати archlinux-java.

Кілька пакетів в AUR надають реалізації JDK і JRE від Oracle, з них основними є jre AUR і jdk AUR.

Java SE 6/7

Схожі статті