4

У меня есть сервер Ubuntu.

С терминала, как мне установить JDK?

В этом руководстве сказано использовать эту команду:

sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk

Но на сайте Suns написано, что JDK включает JRE, так почему же JRE в приведенной выше строке?

Кто-нибудь знает, как на самом деле установить Java?

Каждый гид и каждый форум показывает разные способы сделать это.

Кстати: это VPS (виртуальный частный сервер)

Спасибо

7 ответов7

6

Независимо от того, как Java-пакеты Sun работают на других платформах, для Ubuntu пакет JDK не зависит от пакета JRE.

Пакеты JDK и JRE зависят от пакета -bin, но установка -bin таким образом означает неавтоматическую установку.

5

Вот что вы получаете от каждой упаковки:

sun-java6-bin: базовые файлы для выполнения программ на Java

sun-java6-jre: файлы локализации и все, что вам нужно для выполнения "полных" требований времени выполнения. Зависит от бина.

sun-java6-jdk: все, что вам нужно для компиляции. Это не обязательно требует времени выполнения для выполнения программ Java. Зависит от бина.

Таким образом, вы можете написать свою команду короче как:

sudo apt-get install sun-java6-jre sun-java6-jdk
2

Хотя вы правы в том, что когда вы обычно загружаете JDK из Sun (например, если бы вы загружали установщик Windows), он включал в себя JRE, обычно вещи в Debian (и Ubuntu) упаковываются более модульным способом. например, документация и исходный код (опять же обычно включаемый в загрузку JDK) находятся в других отдельных пакетах: sun-java6-demo и sun-java6-source .

1

Окей, это мой второй ответ на этот вопрос, и именно так вы устанавливаете текущий JDK в Linux! (Это для Debian, но пользователи Ubuntu не должны видеть много различий).

Инструменты, которые вам нужны:

apt-get install fakeroot zip unzip mkisofs

Теперь перейдите на java.sun.com и загрузите текущий JDK6. Это должны быть имена типа jdk-6u20-linux-i586.bin !

Мы не хотим устанавливать его напрямую, чтобы он вел себя как хороший пакет. Поэтому мы используем fakeroot, чтобы установить его как пользователя.

mv jdk-6u20-linux-i586.bin ~someuser
su - someuser
fakeroot
chmod a+x jdk-6u20-linux-i586.bin
sh ./jdk-6u20-linux-i586.bin
cd jdk1.6.0_20/man
for i in `find -type f`; do gzip $i; done;
cd ../..
# Tar the results to have them handy for the real installation
tar cfz jdk1.6.0_20.tgz jdk1.6.0_20/

Теперь мы оставляем fakeroot (Ctrl-D) и someuser-shell (снова Ctrl-D) и устанавливаем наш tar в /usr /local:

cd /usr/local
tar xfvz ~someuser/jdk1.6.0_20.tgz
ln -s /usr/local/jdk1.6.0_20/ /usr/local/jdk
ln -s /usr/local/jdk1.6.0_20/jre/ /usr/local/jre

for program in appletviewer apt extcheck idlj jar jarsigner java javac \
           javadoc javah javap javaws jconsole jdb jhat jinfo jmap \
           jps jrunscript jsadebugd jstack jstat jstatd jvisualvm \
           keytool native2ascii orbd pack200 policytool rmic rmid \
           rmiregistry schemagen serialver servertool tnameserv \
           unpack200 wsgen wsimport xjc ; do \
    update-alternatives --install "/usr/bin/$program" "$program" \
    "/usr/local/jdk1.6.0_20/bin/$program" 1130 \
    --slave "/usr/share/man/man1/$program.1.gz" "$program.1.gz" \
    "/usr/local/jdk1.6.0_20/man/man1/$program.1.gz"; done;

Монахиня тестирует все хорошо:

java -version
man java

Готово.

1

В терминале запустите sudo add-apt-repository ppa:webupd8team/java && sudo apt-get update . После этого запустите sudo apt-get install oracle-java8-installer . Вам не нужно запускать установщик, поскольку он автоматически установит его для вас. Число "8" может быть 7, 6 и т.д.

0

Просто для свободного программного обеспечения:

sudo apt-get install openjdk-6-jdk
-1

Это правильный способ сделать это в системах на основе Debian. Причина, по которой они включаются, это, вероятно, для защиты зависимостей (хотя apt решает их автоматически)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .