2015-02-08 157 views
0

我想從社區網站安裝廚師maven cookbook,並選擇java版本7.爲此,我在我的食譜的attributes/default.rb中添加了以下屬性。從maven安裝java 7廚師食譜

# 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的食譜安裝7版本?

謝謝!

丹尼爾

回答

0

您的代碼不工作,因爲你沒有設置節點[ '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 

另一種選擇是不設置節點[ '的java'] [ 'openjdk_packages']屬性。 set_attributes_from_version recipe包含基於OS來執行此操作的邏輯。