在我的项目,我想我的配置与系统环境中的应用就像这在我的build.gradle:gradle这个应用插件和系统环境变量
apply plugin: 'application'
applicationDefaultJvmArgs = ["-Ddw.server.applicationConnectors[0].port=${System.env.PORT}"]
如果端口设置为常数这个工作,可以说, 9001.但是,如果我将PORT更改为另一个变量,则可执行脚本不会更改,它已在build/install/bin/{executable-script}中编译为旧值PORT,如下所示:
DEFAULT_JVM_OPTS='"-Ddw.server.applicationConnectors[0].port=9001"'
什么,而不是我希望它是,
DEFAULT_JVM_OPTS='"-Ddw.server.applicationConnectors[0].port=$PORT"'
有没有办法告诉应用程序插件使用系统环境变量而不是评估system.env变量?
顺便说一句,我也试过没有单引号,以避免$ PORT表达
applicationDefaultJvmArgs = ['-Ddw.server.applicationConnectors[0].port=$PORT']
和
applicationDefaultJvmArgs = ['-Ddw.server.applicationConnectors[0].port=\$PORT']
但是这两个被编译成这样,这将无法工作的评价。
DEFAULT_JVM_OPTS='"-Ddw.server.applicationConnectors[0].port=\$PORT"'
我本可以使用WEBAPP_OPTS作为解决方法,但我真的想保持配置尽可能简单。 – nilsmagnus 2014-09-12 18:30:28
也许试试'$ {System.getenv('PORT')}'? – Opal 2014-09-12 19:27:13
@opal这呈现相同的结果。 – nilsmagnus 2014-09-13 06:18:45