Подтвердить что ты не робот

Проблемы с установкой Java EE SDK в Linux

Я установил Java 6 JRE на моем VPS просто отлично, но я не могу запустить установку EE SDK даже.

[email protected] [/usr/java]# java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode)

Однако, когда я пытаюсь запустить java_ee_sdk-6-unix.sh:

./  ../  java_ee_sdk-6-unix.sh*  jre1.6.0_18/  jre.bin*
[email protected] [/usr/java]# ./java_ee_sdk-6-unix.sh

Could not locate a suitable jar utility.
Please ensure that you have Java 6 or newer installed on your system
and accessible in your PATH or by setting JAVA_HOME

Но проблема в том, что я правильно установил свои переменные среды:

[email protected] [/usr/java]# echo $PATH
/usr/java/jre1.6.0_18:/usr/java/jre1.6.0_18/bin:/usr/java/jre1.6.0_18/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin
[email protected] [/usr/java]# export -p | grep JAVA_HOME
declare -x JAVA_HOME="/usr/java/jre1.6.0_18"

Я вытаскиваю свои волосы здесь, любые идеи?

4b9b3361

Ответ 1

Установлен ли JDK? Вероятно, вы хотите поставить $JDK_HOME/bin на свой PATH, а не на /bin JRE, поскольку jar поставляется с JDK, а не JRE.

Ответ 2

Сделайте это:

  • Удалить все установки Java.
  • Установите Java SDK (самораспаковывающийся) в /opt/jdk1.6.0_16 (например )
  • Создайте символическую ссылку: ln -s /opt/jdk1.6.0_16 /opt/jdk
  • Изменить $HOME/.bashrc:

    JAVA_HOME =/opt/jdk
    PATH = $PATH: $HOME/бен: $JAVA_HOME/бен

  • Выход и вход в систему.

Это дает множество преимуществ:

  • Вы можете установить несколько версий SDK и использовать только символическую ссылку.
  • Вы знаете, где находятся все файлы.
  • Вы точно знаете, какая версия Java используется.
  • Другие версии не установлены, поэтому конфликтов не должно быть.

Я делал это много лет и никогда не испытывал проблем с Java на Linux, за исключением пакетов, которые не обнаруживают, что Java установлен и пытаются установить OpenJDK.

Кроме того, держитесь подальше от OpenJDK, поскольку его шрифты ужасны для просмотра.

Ответ 3

Быстрое и грязное решение для меня:

sudo apt-get install jarwrapper fastjar

Затем просто запустите свой .sh script и voila!

Ответ 4

Я получил ту же ошибку. Я удалил OpenJDK, используя apt-get (я запускаю Ubuntu 11.10), а затем загрузил Java JDK 1.7 (который, конечно же, с JRE), и распаковал его под /usr/local/java - это дало мне новый каталог:

/usr/local/java/jdk1.7.0_04

Далее я добавил:

/usr/local/java/jdk1.7.0_04

до $PATH, установите $JAVA_HOME и $JRE_HOME как

/usr/local/java/jdk1.7.0_04
/usr/local/java/jdk1.7.0_04/jre

соответственно.

Все работает хорошо. Я могу скомпилировать java-прогамы с помощью javac и запустить их с помощью java. Программа Jar работает отлично. Так почему java ee installer жалуется на это? Какие-нибудь подсказки, как это исправить?

Ответ 5

У меня возникла проблема, однако она была связана с учетной записью пользователя sudo при выполнении файла .sh. Я устанавливал Glassfish v3 на новый сервер VPS с Ubuntu 10.4 64Bit OS.

sudo chmod +x java_ee_sdk-6u2-jdk-linux-x64.sh

sudo ./java_ee_sdk-6u2-jdk-linux-x64.sh -s -a java_ee_sdk-6u2-jdk-linux-x64-install-answers.txt

Только для получения той же самой ошибки, с которой вы впервые столкнулись:

Could not locate a suitable jar utility.
Please ensure that you have Java 6 or newer installed on your system
and accessible in your PATH or by setting JAVA_HOME

Глупо, действительно, когда я запускал команду следующим образом:

  ./java_ee_sdk-6u2-jdk-linux-x64.sh -s -a java_ee_sdk-6u2-jdk-linux-x64-install-answers.txt

К моему удивлению он ответил:

Welcome to GlassFish V3 installer

Using the user defined JAVA_HOME : /opt/jdk
Entering setup...

Это было после того, как я установил свой файл JAVA_HOME в файл: /etc/bash.bashrc

JAVA_HOME=/opt/jdk
export JAVA_HOME

PATH=$PATH:$JAVA_HOME/bin
export PATH

Ответ 6

В моем случае у меня был jdk1.6.0_16, который был извлечен в моем домашнем каталоге и имел символические ссылки на java и /javac в /bin. Затем я столкнулся с ошибкой, описанной выше в вопросе.

Однако, как только я включил символическую ссылку на jar в /bin, оболочка script для установки Java EE выполнялась так, как ожидалось.

Ответ 8

Мои 2 цента...

У меня такая же проблема и решить ее, установив утилиту jar.

Как "матовый b" сказал, что проблема была (и моя проблема), что установщик не нашел утилиту jar (jar-программу), необходимую для запуска установочных файлов.

Установлен ли JDK? Вероятно, вы хотите поместить $JDK_HOME/bin в свой PATH, а не в /bin JRE, поскольку jar поставляется с JDK, а не JRE.

Но в моем случае (с Ubuntu 11.10 x64 и JAVA_HOME → /usr/lib/jvm/java-6-openjdk) проблема не была исправлена ​​установкой JDK/bin dir на PATH. Вместо этого мне пришлось установить пакет утилиты jar (используя Synaptic) под названием Jarwrapper версии 0.37ubuntu1.

После его установки установка script Oracle JDK (java_ee_sdk-6u3-jdk7-linux-x64-ml.sh) прошла нормально.

Привет,