我在OS X上使用IntelliJ Ultimate 2016.1.2运行Tomcat 8.0.35。我想在调试器下本地运行Tomcat并将我的Web应用程序部署到它。我创建了一个本地Tomcat服务器运行配置。在“部署”选项卡中,我指定了要部署的WAR文件。
我的网络应用程序需要设置REDIS_HOST_MM
和REDIS_PORT_MM
个环境变量。我在运行配置的“启动/连接”选项卡中设置了这些。
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中的错误,还是我应该以其他方式设置环境变量?
(这是JetBrains支持问题699091。)
答案 0 :(得分:6)
没关系。用户错误。我没有意识到你必须分别为Run和Debug配置设置环境变量。我让它们设置为Run,但我正在运行Debug。
一旦我为Debug配置设置了环境变量,一切都有效。