Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从maven Chef cookbook安装java 7_Java_Maven_Chef Infra - Fatal编程技术网

从maven Chef cookbook安装java 7

从maven Chef cookbook安装java 7,java,maven,chef-infra,Java,Maven,Chef Infra,我想从社区站点安装Chefmavencookbook,然后选择javaVersion7。为此,我在食谱的attributes/default.rb中添加了以下属性 # Configure java and maven default['maven']['setup_bin'] = true node.override[:java][:jdk_version] = '7' node.override[:java][:openjdk_packages] = [ "openjdk-7-jdk", "o

我想从社区站点安装Chef
maven
cookbook,然后选择
java
Version7。为此,我在食谱的
attributes/default.rb
中添加了以下属性

# Configure java and maven
default['maven']['setup_bin'] = true
node.override[:java][:jdk_version] = '7'
node.override[:java][:openjdk_packages] = [
"openjdk-7-jdk", "openjdk-7-jre-headless"
]
这不起作用,因为它安装了java版本6。我尝试过其他具有相同结果的变体,例如:

# Configure java and maven
default['maven']['setup_bin'] = true
default['java']['jdk_version'] = '7'
我的平台是Ubuntu precise64

mvn-v
的输出如下:

Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09 17 15:22:22+0000)
Maven home: /usr/local/maven
Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/java-6-openjdk-amd64/jre
Default locale: en_US, platform encoding: ISO-8859-1
OS name: "linux", version: "3.2.0-23-generic", arch: "amd64", family: "unix"
我如何告诉java cookbook安装版本7

谢谢


Daniel

您的代码无法运行,因为您没有设置node['java']['openjdk_version']属性。以下是:

另一个选项是不设置node['java']['openjdk_packages']属性。包含基于操作系统执行此操作的逻辑

node['java']['openjdk_packages'].each do |pkg|
  package pkg do
    version node['java']['openjdk_version'] if node['java']['openjdk_version']
  end
end