11

是否有人提出了一個良好的配置腳本來使用存儲在.ebextensions中的配置文件將Oracle Java 1.7安裝到Elastic Beanstalk實例中。我使用的彈性魔豆的tomcat7版本,我能夠使用帶有yum來安裝OpenJDK的以下內容:如何在Amazon Elastic Beanstalk實例中安裝Oracle Java 7

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 

我想如何過使用甲骨文的Java 1.7不是的OpenJDK和百勝並沒有在它的回購本身。

回答

10

嘗試這個配置文件

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

這不再適用,需要更新下載鏈接和cookie。它隨着新的Java 8發佈而改變。 – tbraun

+1

它應該再次:) – study

+0

偉大的工作!非常感謝!我懶得找到這個新的鏈接。但不要懶得將rpm轉移到我自己的CDN服務器,現在我不需要擔心Oracle會再次更改他們的下載系統。 – tbraun

1

你可以交替安裝它,你通常會做和使用AMI作爲您的AMI創建新的EC2實例。

0

接受的答案不再有效,它的過時。這對我有效:

# 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,因爲我需要它。另外,從oracle下載的jdk實際上是一個bin文件(oracle的自定義sh腳本提取器),所以我所做的是我從oracle下載bin文件,將其解壓縮以獲取RPM,然後將RPM包含在ebextensions中。

只需包含該sh腳本即可在ebextensions配置文件中運行(如果您不確定,請使用Google ebextenions配置)。

希望這有助於某人。

相關問題