Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.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
Linux 在CentOS Box上正确指定JAVA_HOME_Linux_Environment Variables_Chef Infra_Java Home - Fatal编程技术网

Linux 在CentOS Box上正确指定JAVA_HOME

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设置以下环境变量:

使用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
设置以下环境变量:

  • M2_之家
  • 格拉德卢之家酒店
  • 爪哇之家酒店
使用magic shell cookbook,我成功地设置了前两个环境变量,但没有
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,如果平台是您所期望的,等等)会很有用。

这对我来说似乎很有问题。我知道你提供了一种方法,但你觉得这不雅吗?哈——你确实决定使用魔壳,不是吗?祝你好运