我在OS上运行Tomcat8.0.35和IntelliJ终极2016.1.2。我想在调试器下本地运行Tomcat,并将我的web应用程序部署到它。我创建了本地Tomcat运行配置。在Deployment中,我指定了要部署的WAR文件。
我的web应用程序需要设置REDIS_HOST_MM和REDIS_PORT_MM环境变量。我在run配置的“启动/连接”选项卡中设置了这些选项。

Tomcat启动,我的web应用程序部署,但是,环境变量没有设置。我可以在我的web应用程序代码中的下面一行放置一个断点
String _value = System.getenv(value);并看到当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如果我从命令行在IntelliJ之外启动Tomcat,则环境变量将被正确设置。
这是IntelliJ中的一个bug,还是应该以其他方式设置环境变量?
(这是JetBrains支持问题https://intellij-support.jetbrains.com/hc/en-us/requests/699091。)
发布于 2016-06-03 18:11:20
不要紧。用户错误。我没有意识到您必须为Run和Debug配置分别设置环境变量。我让他们跑了,但我在跑Debug。
一旦我也为Debug配置设置了环境变量,一切就都正常了。
https://stackoverflow.com/questions/37603835
复制相似问题