【问题标题】:Why wont Intellij IDEA pickup my java JDK为什么 Intellij IDEA 不拾取我的 java JDK
【发布时间】:2025-12-04 15:45:01
【问题描述】:

restarted and invalided caches

这是我的配置

cat /etc/environment 
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/lib/jvm/java-7-oracle/jre/bin/java"

~$whereis java
java: /usr/bin/java /usr/bin/X11/java /usr/share/java /usr/share/man/man1/java.1.gz
~$ which java
/usr/bin/java


~$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 Aug 23 14:40 /usr/bin/java -> /etc/alternatives/java
~$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 39 Aug 23 14:40 /etc/alternatives/java -> /usr/lib/jvm/java-7-oracle/jre/bin/java

我阅读了this 以产生上述输出。我在Hello.java 文件上不断收到红色的 Intellij IDEA 图标,其内容为:

public class Hello {
    public static void main(String[] args){
        System.out.println("Hello World");
    }
}

尽管从命令行成功地运行了程序:

$ javac Hello.java 
$ java Hello 
Hello World

这里是 Intellij IDEA 设置中设置的 Java SDK 路径(Ctrl+Alt+Shift+S)/usr/lib/jvm/java-7-oracle

这里是我的目录(名为Hello)Hello.iml文件的内容:

<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
    </content>
    <orderEntry type="jdk" jdkName="1.7 (1)" jdkType="JavaSDK" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

我之前通过this 删除了所有 JDK 实例,并且我确定只安装了一个 Java JDK。我通过this重新安装了Java

我做错了什么?请问有什么见解吗?谢谢

【问题讨论】:

  • 打开项目设置并告诉 IntelliJ 您希望它使用哪个 JDK。根据您的描述,应该只有一个。
  • 请注意,我还必须删除我的 Hello.java 文件并左键单击重新插入为Java Class

标签: java intellij-idea java-7


【解决方案1】:

在 Intellij 中,您必须设置要用于项目的 JDK。这与默认选择 JDK 的 Eclipse 不同。 OTOH,您可以更灵活地拥有使用不同 JDK(例如 1.5、1.7、1.8)的多个项目

按照此处的说明进行操作:How do I change the IntelliJ IDEA default JDK?

【讨论】:

    最近更新 更多