簡體   English   中英

IntelliJ IDEA在其中運行東西時使用錯誤的$ JAVA_HOME,我無法更改它

[英]IntelliJ IDEA uses wrong $JAVA_HOME when running things inside it, and I can't change it

我在Debian Sid上。

在所有可以想象的地方,我都將JDK設置為Oracle JDK8:

user@host:~$ cat .bash_profile | grep JAVA_HOME
user@host:~$ cat .bashrc | grep JAVA_HOME
export JAVA_HOME='/usr/lib/jvm/jdk-8-oracle-x64'
user@host:~$ sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069      auto mode
  1            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069      manual mode
  2            /usr/lib/jvm/jdk-7-oracle-x64/jre/bin/java       317       manual mode
* 3            /usr/lib/jvm/jdk-8-oracle-x64/jre/bin/java       318       manual mode

Press <enter> to keep the current choice[*], or type selection number: 3

Project SDK設置為Java 1.8.0_51(Oracle)

在“ Switch IDE boot JDK ...” IDE操作中:

引導SDK設置為Java 1.8.0_51(Oracle)

在“關於”菜單項中:

在此處輸入圖片說明

如果我用echo $JAVA_HOME運行xterm ,它的確會打印/usr/lib/jvm/jdk-8-oracle-x64 ,在這里一切都很好。


但是,如果我在IntelliJ IDEA的內置終端中運行echo $JAVA_HOME ,則可以看到$JAVA_HOME設置為錯誤的值:

user@host:~$ echo $JAVA_HOME 
/usr/lib/jvm/java-1.7.0-openjdk-amd64
user@host:~$ 

如果我運行Java測試或通過IDE插件運行Maven,則$JAVA_HOME也會設置為相同的錯誤值(這可以由Maven或測試運行程序使用Runtime.getRuntime().exec("printenv | grep JAVA_HOME"); )。

無論我在IDE中打開任何項目,都會發生這種情況。

$JAVA_HOME可以在其他什么地方意外地設置為錯誤的值/usr/lib/jvm/java-1.7.0-openjdk-amd64嗎?

找到了。

做了一個

find / -type f -size -409600c -print0 | xargs -I{} -0 grep -sl "java-1.7.0-openjdk" {}

有罪的文件是/etc/profile.d/bigtop.sh 我不知道為什么IDEA(heh)顯然運行了該腳本。 它具有以下內容:

export MAVEN_HOME=/usr/local/maven
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
export ANT_HOME=/usr/local/ant
export GRADLE_HOME=/usr/local/gradle
export PATH=$MAVEN_HOME/bin:$ANT_HOME/bin:$FORREST_HOME/bin:$GRADLE_HOME/bin:$PATH

export GRADLE_OPTS="-Dorg.gradle.daemon=true"

我在那里更改了JAVA_HOME ,它解決了我的問題。

我有同樣的問題。 解決方案-只需關閉IntelliJ,然后再次啟動它即可:)但這與File-> Restart不同。 它必須是一個新的開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM