我在网上搜索了很多,几乎所有链接都说在jvm.options中定义JVM自定义变量也将它放在$ {server.config.dir} /jvm.options上.例如我添加了一个名为-DAPP_ENV = PROD的变量.但是这在服务器启动后变为NULL.
任何的想法?
小智 6
看起来您想要定义一个环境变量,因此您有两个选择.
1.使用环境变量
在这种情况下,您可以定义一个环境变量(如$ PATH)并将其加载到您的应用程序中.请注意,这不是JVM参数,它将在bin/server用于启动服务器的shell命令中设置.
在文件中:${server.config.dir}/server.env
添加以下行:APP_ENV=PROD
使用以下命令访问该值:
System.getenv("APP_ENV");- >PROD
2.使用System属性
这就是你要做的,所以我不确定它为什么不适合你,但是这里是如何:
在文件中:${server.config.dir}/jvm.options
添加以下行:-DAPP_ENV=PROD
使用以下命令访问该值:
System.getProperty("APP_ENV");- >PROD
请注意,在这两种情况下,这些值都是在服务器启动时设置的,并且它们不会动态更改(大多数Liberty配置是动态的).JVM选项和环境在启动脚本期间获取并设置,因此如果要更改任何一个,则需要重新启动.
我个人的建议是去server.env路线 - 它更通用,(对我来说)感觉更合适,因为你试图影响过程的执行环境,而不是定义JVM的行为或配置.
| 归档时间: |
|
| 查看次数: |
2282 次 |
| 最近记录: |