我想从社区网站安装Chef maven
食谱,然后选择java
版本7.为此,我在我的食谱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?
谢谢!
丹尼尔
答案 0 :(得分:0)
您的代码无效,因为您尚未设置 node ['java'] ['openjdk_version'] 属性。这是relevant code segment:
node['java']['openjdk_packages'].each do |pkg|
package pkg do
version node['java']['openjdk_version'] if node['java']['openjdk_version']
end
end
另一种选择是不设置 node ['java'] ['openjdk_packages'] 属性。 set_attributes_from_version recipe包含基于操作系统执行此操作的逻辑。