11

Qualcuno ha inventato un buon script di configurazione per installare Oracle Java 1.7 in un'istanza di Elastic Beanstalk utilizzando i file di configurazione memorizzati in .ebextensions. Sto usando una versione tomcat7 di pianta di fagioli elastico e sono stato in grado di installare OpenJDK con yum utilizzando la seguente:Come installare Oracle Java 7 in un'istanza 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 

Come mai Vorrei utilizzare Oracle Java 1.7 non OpenJDK e yum non ha che nella sua repo nativamente.

risposta

10

provare questo file di configurazione

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

questo non funziona più, è necessario aggiornare il link di download e cookie. è cambiato con il nuovo lancio di Java 8. – tbraun

+1

Dovrebbe funzionare di nuovo :) – study

+0

ottimo lavoro! Molte grazie! Ero troppo pigro per trovare questo nuovo link. Ma non sono pigro per spostare l'RPM sul mio server CDN e ora non ho più bisogno di preoccuparmi che Oracle cambi di nuovo il loro sistema di download. – tbraun

1

Si potrebbe alternativamente installarlo come si farebbe normalmente e utilizzare questo ami come ami per la creazione di nuove istanze EC2.

0

La risposta accettata non funziona più, è obsoleta. Questo ha funzionato per me:

# 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 

Questo è per java 6, poiché avevo bisogno che fosse. Inoltre, il jdk scaricato da Oracle è in realtà un file bin ora (l'oracle sh script extractor personalizzato), quindi quello che ho fatto è stato scaricare il file bin da oracle, estratto per ottenere l'RPM e quindi incluso l'RPM all'interno di ebextensions.

Basta includere lo script sh da eseguire in un file di configurazione di ebextensions (google ebextenions config se non si è sicuri).

Spero che questo aiuti qualcuno.