gpt4 book ai didi

linux - 我们可以通过 Chef 中的 Recipe 合并 JAVA_OPTS 变量吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:26:41 27 4
gpt4 key购买 nike

我已经通过一些说明书安装了 Java 并设置了一些默认变量,现在我想通过我的说明书添加更多变量(特定于应用程序)。我怎样才能通过 Chef 中的 Recipes 做到这一点。我试图在 setenv.sh 中传递一些变量,但它覆盖了默认值,而不是我想合并变量并覆盖现有变量值。

我在 setenv.sh 中的代码:

export JAVA_OPTS="$JAVA_OPTS -Xmx2048m"

其中 $JAVA_OPTS - 默认变量

最佳答案

第一种方法是更新应用程序说明书中定义基本值的属性,因为在评估配方之前读取属性,您的文件最终会得到正确的值。

您并没有说明您使用的是哪本 Recipe ,所以我将以 tomcat cookbook 为示例

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

最简单的方法是使用类似的东西来补充这一点

default['tomcat']['java_options'] = "#{default['tomcat']['java_options']} -Xmx2048m" 

明显的问题是您最终得到 2 个 -Xmx 值,通常 JVM 会采用最新的,但是当有很多覆盖时很难找到哪个选项的值。

第二种选择是利用 jvmargs cookbook它提供了辅助函数来定义 java 选项并在最后在您的 setenv.sh 模板中使用。

关于linux - 我们可以通过 Chef 中的 Recipe 合并 JAVA_OPTS 变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33770228/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com