Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.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 我们可以通过chef中的recipe合并JAVA_OPTS变量吗?_Linux_Chef Infra - Fatal编程技术网

Linux 我们可以通过chef中的recipe合并JAVA_OPTS变量吗?

Linux 我们可以通过chef中的recipe合并JAVA_OPTS变量吗?,linux,chef-infra,Linux,Chef Infra,我已经通过一些cookbook安装了Java,并设置了一些默认变量,现在我想通过我的cookbook添加更多的变量(特定于应用程序)。我如何通过厨师的食谱做到这一点。我试图在setenv.sh中传递一些变量,但它覆盖了默认值,而我想合并这些变量并覆盖现有的变量值 setenv.sh中的我的代码: export JAVA_OPTS="$JAVA_OPTS -Xmx2048m" 当$JAVA_OPTS-默认变量时,第一种方法是更新应用程序手册中定义基本值的属性,因为在评估配方之前读取属性,所以文件

我已经通过一些cookbook安装了Java,并设置了一些默认变量,现在我想通过我的cookbook添加更多的变量(特定于应用程序)。我如何通过厨师的食谱做到这一点。我试图在
setenv.sh
中传递一些变量,但它覆盖了默认值,而我想合并这些变量并覆盖现有的变量值

setenv.sh
中的我的代码:

export JAVA_OPTS="$JAVA_OPTS -Xmx2048m"

$JAVA_OPTS
-默认变量时,第一种方法是更新应用程序手册中定义基本值的属性,因为在评估配方之前读取属性,所以文件将以正确的值结束

你没有说你用的是哪本食谱,所以我将以

本食谱定义了一个属性
default['tomcat']['java_options']='-Xmx128M-Djava.awt.headless=true'

最简单的方法是使用

default['tomcat']['java_options'] = "#{default['tomcat']['java_options']} -Xmx2048m" 
明显的问题是,您最终得到了2个
-Xmx
值,通常JVM会采用最新的值,但是当有大量覆盖时,很难找到哪个值的选项


第二种方法是利用wich gives helpers函数定义java选项,并在最后在
setenv.sh
模板中使用。

第一种方法是更新应用程序手册中定义基值的属性,由于在评估配方之前读取了属性,因此您的文件将以正确的值结束

你没有说你用的是哪本食谱,所以我将以

本食谱定义了一个属性
default['tomcat']['java_options']='-Xmx128M-Djava.awt.headless=true'

最简单的方法是使用

default['tomcat']['java_options'] = "#{default['tomcat']['java_options']} -Xmx2048m" 
明显的问题是,您最终得到了2个
-Xmx
值,通常JVM会采用最新的值,但是当有大量覆盖时,很难找到哪个值的选项


第二种选择是利用wich提供的helpers函数来定义java选项,并在最后的
setenv.sh
模板中使用。

使用Tomcat cookbook和java选项安装的java已经导出,现在我想向它添加更多的环境变量,但我不想进行属性覆盖。已经导出了使用Tomcat cookbook和java_OPTS安装的java,现在我想向它添加更多的环境变量,但我不想进行属性覆盖。