intellij-idea IntelliJ -为什么终端有不同的环境变量值

k2fxgqgv  于 2022-11-01  发布在  其他
关注(0)|答案(9)|浏览(413)

我最近将Java 7替换为Java 8。
IntelliJ中的所有常规应用程序都运行流畅。
除了tomcat应用程序以外的所有应用程序--它们从cmd命令行运行,而不是从IntelliJ运行。
由于JRE_HOME定义中存在错误,因此无法加载。
我已经在env变量和jdk设置中定义了JRE_HOME。
我已经执行了

echo %jre_home%

在IntelliJ终端和cmd中,接收到不同的值
(IntelliJ终端显示未更新的值。)。
终端中的变量在哪里声明?
如何更改它们?

ar5n3qh5

ar5n3qh51#

我不知道旧的IntelliJ版本,但在2019.2.3中可以在项目设置中配置环境变量。请注意,您需要重新启动现有的终端或创建新的终端选项卡才能看到效果。

bqf10yzr

bqf10yzr2#

差不多5年后,我在Windows 10上遇到了同样的问题,不得不重新启动电脑来解决它。
编辑:最好的解决方案是不定义JRE_HOME环境变量。我不知道为什么IntelliJ会使用env变量。

svgewumm

svgewumm3#

如果您通过JetBrains工具箱启动IntelliJ,它将缓存$PATH变量,因此不会显示最近的更改。
只需关闭并重新打开JetBrains工具箱

mwngjboj

mwngjboj4#

对我来说,这是因为IntelliJ IDEA没有将shell作为“登录”shell启动。我的所有环境变量都按照我在登录shell中所期望的那样设置,但在非登录shell中,它们中的许多变量都丢失了。
举例来说,我希望/usr/local/bin在我的PATH中,但这只在登录shell中才是真的(当我运行iTerm2时得到的结果)。

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 path 设置以包括登录标志。

pbossiut

pbossiut5#

使系统缓存失效应该可以解决这个问题。请参阅JetBrains: Invalidate Cache
任何其他措施(如关闭项目和IDE)似乎仅在每个项目基础上工作,并且仅在一段时间后(当IDE检测该高速缓存本身无效时...)
编辑:
更正-不幸的是,在更正了所有终端中的环境 * 一段时间 * 之后,IntelliJ在我的任何项目中“* 恢复 ”到了旧的、不正确的环境。现在我希望在重新启动之后--正如akuman 8所发布的那样--这个问题得到解决。(如果没有,我将坚持使用我选择的在IDE之外*的命令行,在那里一切都工作正常...)

bvhaajcl

bvhaajcl6#

AFAIKT,linux上的intellij终端和运行一个独立的终端会话是一样的,它只是方便地位于IDE中。
在回答问题“如何更改[终端环境变量]?”
我正在使用virtualenvwrapper来管理我的终端在不同环境下的环境变量,比如开发、测试和生产环境,它在java开发中和在python开发中一样好用。
https://virtualenvwrapper.readthedocs.org

whitzsjs

whitzsjs7#

1.关闭所有IntellJ窗口以及当前可能使用错误SDK的任何进程。
1.导航到安装JDK的文件夹(例如C:\Program Files\Java)。
1.重命名错误的SDK(例如jdk-11.0.5.OLD)。如果它不这样做,您可能仍然有一个进程使用该SDK运行;返回到1。
1.再次启动IntelliJ。

ecfdbz9o

ecfdbz9o8#

对我来说,使系统缓存无效或重新启动IntelliJ并不会重新加载更新的环境变量。
重新启动计算机后,IntelliJ便能够获取更新的环境变量。

1cosmwyk

1cosmwyk9#

您似乎可以定义项目特定的环境变量:
在IntelliJ项目特定的环境变量中,您可以在运行/调试配置--〉默认值--〉应用程序--〉环境变量下进行设置
来源:http://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/#comment-617922540 x1c 0d1x

相关问题