Linux 在CentOS Box上正确指定JAVA_HOME
使用CentOS 6.5盒子上的流浪汉和厨师,我有以下食谱:Linux 在CentOS Box上正确指定JAVA_HOME,linux,environment-variables,chef-infra,java-home,Linux,Environment Variables,Chef Infra,Java Home,使用CentOS 6.5盒子上的流浪汉和厨师,我有以下食谱: chef.add_recipe "yum" chef.add_recipe "custom_java_cookbook" # simply installs the Oracle Java 7 RPM chef.add_recipe "set_env_var" 总的来说,我的问题是如何正确地指定JAVA_HOME,以便在安装了yum的OpenJDK6上使用oraclejava7版本 set\u env\u var设置以下环境变量:
chef.add_recipe "yum"
chef.add_recipe "custom_java_cookbook" # simply installs the Oracle Java 7 RPM
chef.add_recipe "set_env_var"
总的来说,我的问题是如何正确地指定JAVA_HOME,以便在安装了yum的OpenJDK6上使用oraclejava7版本
set\u env\u var
设置以下环境变量:
- M2_之家
- 格拉德卢之家酒店
- 爪哇之家酒店
JAVA\u HOME
。但是,在运行了vagrant up--provision
之后,我的$JAVA_HOME
被设置为open-jdk6目录
在/etc/profile.d中,我有两个shell脚本对应于设置JAVA\u HOME
:
-jdk.sh # I'm guessing it's part of the yum cookbook. {export JAVA_HOME = openjdk6}
-JAVA_HOME.sh # Chef-created script: {export JAVA_HOME = jdk7_oracle_dir}
如何在/etc/profile.d
下指定要使用的JAVA\u HOME
环境脚本
似乎
jdk.sh
正在赢得JAVA_HOME.sh
,因为我的JAVA_HOME
被设置为openjdk6版本。如果你想通过自定义烹饪书/食谱自己设置JAVA_HOME,你可能应该删除同一食谱中现有的jdk.sh。比如:
file "/etc/profile.d/jdk.sh" do
action :delete
end
将其包装在检查中以仅在绝对必要时适用(即,如果文件存在,如果安装了yum,如果平台是您所期望的,等等)会很有用。这对我来说似乎很有问题。我知道你提供了一种方法,但你觉得这不雅吗?哈——你确实决定使用魔壳,不是吗?祝你好运