IntelliJ Tomcat运行配置不设置环境变量

W.P*_*ill 1 ide tomcat intellij-idea environment-variables catalina

我在OS X上使用IntelliJ Ultimate 2016.1.2运行Tomcat 8.0.35.我想在调试器下本地运行Tomcat并将我的Web应用程序部署到它.我创建了一个本地Tomcat服务器运行配置.在"部署"选项卡中,我指定了要部署的WAR文件.

我的web应用需要REDIS_HOST_MMREDIS_PORT_MM环境变量进行设置.我在运行配置的Startup/Connection选项卡中设置了这些.

Tomcat运行配置的启动/连接选项卡

Tomcat启动并且我的Web应用程序已部署,但是未设置环境变量.我可以在我的Web应用程序代码中的以下行放置一个断点

String _value = System.getenv(value);
Run Code Online (Sandbox Code Playgroud)

并且看到当value等于"REDIS_HOST_MM"时,调用返回null.

如果我将"服务器"选项卡中的"VM选项"设置为,则会出现同样的问题-DREDIS_HOST_MM=127.0.0.1 -DREDIS_PORT_MM=6379.此外,如果我将启动脚本更改为指向以下shell脚本

export REDIS_HOST_MM=127.0.0.1
export REDIS_PORT_MM=6379
/usr/local/Cellar/tomcat/8.0.35/libexec/bin/catalina.sh run
Run Code Online (Sandbox Code Playgroud)

如果我从命令行在IntelliJ外部启动Tomcat,则会正确设置环境变量.

这是IntelliJ中的错误,还是我应该以其他方式设置环境变量?

(这是JetBrains的支持问题699091.)

W.P*_*ill 7

没关系.用户错误.我没有意识到你必须分别为Run和Debug配置设置环境变量.我把它们设置为Run,但我正在运行Debug.

一旦我为Debug配置设置了环境变量,一切都有效.