如何使用opscode java cookbook安装多个JDK版本

时间:2014-05-22 19:53:41

标签: chef

如何使用opscode java cookbook(flavor = oracle)

安装多个JDK版本

2 个答案:

答案 0 :(得分:0)

尝试使用cookbook提供的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资源(使用不同的参数)。

答案 1 :(得分:0)

这就是我在节点(RHEL)上同时拥有oracle JDK7和JDK8所做的工作。

JDK7将被设置为默认值($ JAVA_HOME指向此版本的JDK i,e 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 /(对于RHEL / Fedora)下安装JDK7和JDK8。有关基于平台的JAVA_HOME目录的详细信息,请参阅java cookbook

这是我引用的工作示例的链接

https://github.com/erichelgeson/jenkins-chef-dsl/blob/master/recipes/build-jdks.rb