Как установить Oracle Java 7 в экземпляр Amazon Elastic Beanstalk
Кто-нибудь придумал хорошую конфигурацию script для установки Oracle Java 1.7 в экземпляр Elastic Beanstalk, используя конфигурационные файлы, хранящиеся в .ebextensions. Я использую версию эластичного бобового стежка tomcat7, и я смог установить openJDK с yum, используя следующее:
packages:
yum:
java-1.7.0-openjdk: []
java-1.7.0-openjdk-devel: []
commands:
use_java7:
command: alternatives --set java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
Как бы то ни было, я бы хотел использовать Oracle Java 1.7, а не OpenJDK, а yum не имеет в нем репо.
Ответы
Ответ 1
попробуйте этот файл конфигурации
files:
"/home/ec2-user/install-oracle-jdk.sh":
mode: "000755"
owner: ec2-user
group: ec2-user
content: |
#!/usr/bin/env bash
wget -O jdk-7u25-linux-x64.rpm --no-cookies --no-check-certificate --header 'Cookie:gpw_e24=http://www.oracle.com; oraclelicense=accept-securebackup-cookie' 'http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-x64.rpm'
rpm -Uvh /home/ec2-user/jdk-7u25-linux-x64.rpm
alternatives --install /usr/bin/java java /usr/java/default/bin/java 3
alternatives --set java /usr/java/default/bin/java
commands:
execute-install-oracle-jdk-script:
command: ./install-oracle-jdk.sh
cwd: /home/ec2-user
Ответ 2
Вы можете поочередно устанавливать его, как обычно, и использовать этот ami в качестве своего ami для создания новых экземпляров ec2.
Ответ 3
Принятый ответ больше не работает, его устаревший. Это сработало для меня:
# Install Oracle JDK
rpm --erase --nodeps java-1.6.0-openjdk java-1.6.0-openjdk-devel
rpm -Uvh .ebextensions/jdk-6u45-linux-amd64.rpm
/usr/sbin/alternatives --install /usr/bin/java java /usr/java/default/bin/java 3
/usr/sbin/alternatives --set java /usr/java/default/bin/java
/usr/sbin/alternatives --install /usr/bin/java_sdk java_sdk /usr/java/default/bin/java 3
/usr/sbin/alternatives --set java_sdk /usr/java/default/bin/java
Это для java 6, так как мне это нужно. Кроме того, jdk, загруженный из oracle, на самом деле является файлом bin (оракул пользовательский sh script extractor), поэтому я сделал это, я загрузил файл bin из oracle, извлек его, чтобы получить RPM, а затем включил RPM внутри ebextensions.
Просто включите sh script для запуска в файле конфигурации ebextensions (config google ebextenions, если вы не уверены).
Надеюсь, это поможет кому-то.