【发布时间】:2015-05-15 02:49:36
【问题描述】:
如何使用 opscode java cookbook (flavor = oracle) 安装多个 JDK 版本
【问题讨论】:
标签: chef-infra
如何使用 opscode java cookbook (flavor = oracle) 安装多个 JDK 版本
【问题讨论】:
标签: chef-infra
试试食谱提供的java_ark资源:
# install jdk6 from Oracle
java_ark "jdk" do
url 'http://download.oracle.com/otn-pub/java/jdk/6u29-b11/jdk-6u29-linux-x64.bin'
checksum 'a8603fa62045ce2164b26f7c04859cd548ffe0e33bfc979d9fa73df42e3b3365'
app_home '/usr/local/java/default'
bin_cmds ["java", "javac"]
action :install
end
您可能可以在包装说明书中多次调用java_ark 资源(使用不同的参数)。
【讨论】:
这就是我在我的节点 (RHEL) 上同时拥有 oracle JDK7 和 JDK8 所做的。
JDK7 将被设置为默认值($JAVA_HOME 指向此版本的 JDK,即 7)。
在您的 /attributes/default.rb 文件中指定以下内容
default['java']['install_flavor'] = 'oracle'
default['java']['jdk_version'] = '7'
default['java']['oracle']['accept_oracle_download_terms'] = true
然后在你的包装食谱中加入以下几行
include_recipe 'java'
#adding the below for the JDK8 installation
java_ark "oracle-jdk8-x86_64" do
url node['java']['jdk']['8']['x86_64']['url']
checksum node['java']['jdk']['8']['x86_64']['checksum']
app_home '/usr/lib/jvm/oracle-jdk8-x86_64'
action :install
end
以上代码将在 /usr/lib/jvm/ 下安装 JDK7 和 JDK8(对于 RHEL/Fedora)。基于平台的JAVA_HOME目录详情请参考java cookbook。
这是我提到的一个工作示例的链接
https://github.com/erichelgeson/jenkins-chef-dsl/blob/master/recipes/build-jdks.rb
【讨论】: