Загрузите (только) OpenJDK и не устанавливайте его

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

Точно так же, как я могу загрузить, а затем не установить Oracle JDK без проблем, мне нужно загрузить, а не установить копию открытого JDK. Веб-сайт http://openjdk.java.net/install/index.html не не предлагать эту возможность.

Кто-нибудь нашел решение этого?


person Russ Bateman    schedule 24.10.2016    source источник


Ответы (1)


Самый простой способ сделать это — скачать исходный код OpenJDK и собрать его. Для 8 это в основном сводится к клонированию правильного набора деревьев, а затем к обычным шагам сборки:

cd /path/to/where/you/cloned/jdk8u
mkdir build
bash ../configure # not ../configure because configure is not marked as executible
make all

Посмотрите в build/ и найдите каталог j2sdk-image. Это ваш JDK:

cp -a build/images/j2sdk-image /location/where/i/put/my/jdks/

В дистрибутивы OpenJDK часто включаются различные изменения, делающие его непригодным для перемещения (понравилось tweaked RPATHs). Тем не менее, если вы чувствуете себя готовым к риску, вы можете сделать что-то вроде:

yum --download-only install 'java-1.8.0-openjdk*'

Теперь у вас есть куча RPM. Извлеките их вручную:

rpm2cpio ./name.of.rpm.x86_64.rpm | cpio -id

Вы должны увидеть usr и другие нелепо выглядящие каталоги в текущем рабочем каталоге. Пройдите, найдите каталог OpenJDK и переместите его в другое место. Например:

cp -a usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b16.fc24.x86_64/ /location/where/i/put/my/jdks/

Обратите внимание, что это usr/, а не /usr/. Удалите не-$ORIGIN RPATHs, если вы видите какие-либо файлы ELF.

Что-то подобное, вероятно, существует для Debian/Ubuntu, но я с ними не знаком.

person omajid    schedule 08.11.2016
comment
Почему вы не можете просто загрузить openjdk, как вы можете загрузить Oracle jdk, существует ли openjdk только для Linux или он доступен и для Windows? - person Paul Taylor; 30.03.2017
comment
Официально проект OpenJDK не публикует двоичные файлы. Я понятия не имею, почему... Это может быть потому, что большинство участников из Oracle, и они предпочитают, чтобы люди использовали Oracle JDK (это только мои предположения). Другие участники проекта OpenJDK публикуют двоичные файлы. Red Hat. Адаптируйте OpenJDK. Azul. - person omajid; 30.03.2017