11

Czy ktoś wymyślił dobry skrypt konfiguracyjny do zainstalowania Oracle Java 1.7 w instancji Elastic Beanstalk przy użyciu plików konfiguracyjnych przechowywanych w .ebextensions. Używam wersji tomcat7 elastycznego łodygi i udało mi się zainstalować OpenJDK z yum przy użyciu następujących:Jak zainstalować Oracle Java 7 w instancji Amazon Elastic Beanstalk

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 

jaki kiedykolwiek chciałbym używać Oracle Java 1.7 nie OpenJDK oraz Yum nie ma, że ​​to repo natywnie.

Odpowiedz

10

wypróbować ten plik konfiguracyjny

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 
+1

to już nie działa, należy zaktualizować łącze pobierania i plik cookie. uległo zmianie wraz z nową wersją Java 8. – tbraun

+1

Powinno znów działać :) – study

+0

Świetna robota! Wielkie dzięki! Byłem zbyt leniwy, aby znaleźć ten nowy link. Ale nie jestem leniwy, aby przenieść rpm na mój własny serwer CDN, a teraz nie muszę się martwić, że Oracle ponownie zmieni system pobierania. – tbraun

1

Można go zainstalować na przemian jak normalnie można zrobić i używać tego jako ami ami do tworzenia nowych instancji EC2.

0

Przyjęta odpowiedź już nie działa, jest nieaktualna. To zadziałało dla mnie:

# 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 

To jest dla języka Java 6, ponieważ potrzebowałem go. Ponadto, jdk pobrany z oracle jest obecnie plikiem bin (niestandardowy edytor skryptów sh), więc to, co zrobiłem, to ściągnąłem plik bin z oracle, wyodrębniłem go, aby uzyskać RPM, a następnie zawarłem RPM wewnątrz ebextensions.

Wystarczy dołączyć skrypt sh do uruchomienia w pliku konfiguracyjnym ebextensions (google ebextenions config, jeśli nie masz pewności).

Mam nadzieję, że to pomoże komuś.

Powiązane problemy