我最近将Java 7替换为Java 8 IntelliJ中的所有常规应用程序运行顺畅 除了tomcat应用程序之外的所有应用程序 - 从cmd命令行运行但不从IntelliJ运行。
由于JRE_HOME定义中的错误,无法加载 我已经明确地在env变量和jdk设置中定义了JRE_HOME 我已经执行了
echo %jre_home%
在IntelliJ终端和cmd中都收到不同的值
(IntelliJ终端显示未更新的值。)
终端中的变量在哪里宣布?
我该如何改变它们?
答案 0 :(得分:1)
如果通过JetBrains工具箱启动IntelliJ,则它将缓存$PATH
变量,因此不会显示最近的更改。
只需关闭并重新打开JetBrains Toolbox 。
答案 1 :(得分:1)
使系统缓存无效应该可以解决问题。见JetBrains: Invalidate Cache。
任何其他措施(如关闭项目和 IDE 似乎只能在每个项目的基础上工作,并且只能在一段时间后(当 IDE 检测到缓存本身无效时......)
编辑:
更正 - 不幸的是,在纠正了所有终端中的环境一段时间后,IntelliJ“恢复”到我的任何项目中的旧的、不正确的环境。现在我希望在重新启动后 - 正如 akuman8 发布的那样 - 问题得到解决。 (如果没有,我将坚持使用我选择的命令外壳外部 IDE,在那里一切正常......)
答案 2 :(得分:0)
AFAIKT,linux上的intellij终端与运行独立的终端会话相同。它位于IDE中,非常方便。
在回答问题时,"如何更改[终端环境变量]?"
我使用virtualenvwrapper管理终端的环境变量,用于不同的环境,例如开发,测试和生产。它对于Java开发和python开发一样好用。
答案 3 :(得分:0)
近5年后,我在Windows 10上遇到了同样的问题,不得不重新启动计算机来解决它。
答案 4 :(得分:0)
答案 5 :(得分:0)
C:\Program Files\Java
)。jdk-11.0.5.OLD
)。如果无法执行此操作,则可能仍然有使用该SDK运行的进程。回到1。答案 6 :(得分:0)
对我来说,这是因为IntelliJ IDEA并未将外壳作为“登录”外壳启动。我在登录外壳程序中设置了所有我的环境变量,但是在非登录外壳程序中却丢失了许多。
通过示例,我希望/usr/local/bin
位于我的PATH中,但这仅在登录Shell中正确(如我在运行iTerm2时所看到的)。这是IntelliJ IDEA中终端会话的摘录:
amacleod@valjean ~> echo $PATH | grep -c /usr/local/bin
0
(1) amacleod@valjean ~> $SHELL --login
Welcome to fish, the friendly interactive shell
amacleod@valjean ~> echo $PATH | grep -c /usr/local/bin
1
一种可能的解决方法是将我期望的PATH和其他变量添加到非登录shell的shell配置中,但实际上,我宁愿始终处于登录shell中。
我希望IntelliJ IDEA在“终端”设置中具有一个用于发送--login
的复选框。但是,可以覆盖 Shell路径设置以包括登录标志。
答案 7 :(得分:-1)
您似乎可以定义项目特定的环境变量:
在IntelliJ项目中,您可以在下面设置特定的环境变量 运行/调试配置 - >默认值 - >申请 - >环境 变量
自: http://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/#comment-617922540