Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IntelliJ IDEA终端java版本问题_Java_Intellij Idea_Javac - Fatal编程技术网

IntelliJ IDEA终端java版本问题

IntelliJ IDEA终端java版本问题,java,intellij-idea,javac,Java,Intellij Idea,Javac,我在IntelliJ IDEA编译器设置中遇到一些问题。 我已经安装了JDK 8,idea中的一个项目只在JDK 6上工作 我已经在首选项->Java编译器页面的idea中更改了编译器版本,并重新启动了idea 我面临的问题是idea终端上的版本没有得到更新。除了在idea中设置JAVA_HOME in.profile之外,还有其他方法可以解决这个问题吗 简而言之:你在看两件不同的事情 IntelliJ中的终端实际上是一个操作系统终端;它将在“路径”中查找java可执行文件(在Windows上

我在IntelliJ IDEA编译器设置中遇到一些问题。 我已经安装了JDK 8,idea中的一个项目只在JDK 6上工作

我已经在首选项->Java编译器页面的idea中更改了编译器版本,并重新启动了idea

我面临的问题是idea终端上的版本没有得到更新。除了在idea中设置JAVA_HOME in.profile之外,还有其他方法可以解决这个问题吗


简而言之:你在看两件不同的事情

IntelliJ中的终端实际上是一个操作系统终端;它将在“路径”中查找
java
可执行文件(在Windows上用
%path%
表示,在*nix上用
$path
表示)


另一方面,屏幕截图中显示的设置描述了应该为项目生成何种类型的编译字节码。Java编译器可以为Java VM的早期版本生成字节码。在本例中,您要求IntelliJ使用的Java编译器生成可在Java 6 VM上运行的代码,而不管使用哪个版本的Java来运行IntelliJ本身。

IDE中的编译器版本与终端使用的编译器版本无关

我建议在.bashrc中创建一个函数,只需导出相关路径即可在jdk6和jdk8之间切换


然后,当需要时,您只需从您的终端(无论是否在IDE中)调用该函数并切换到相应的jdk。

我认为它可以按预期工作。您仅更改了IntelliJ IDEA的编译器版本,因此它会影响IntelliJ IDEA中的编译过程。此设置不会(也不应该)影响终端会话环境。您可以在
文件->设置->工具->终端->shell路径中更改shell启动参数。由于此设置可以按项目设置(但据我所知,不能按模块设置),因此可以在此处指定特定于项目的设置。我不确定是否可以在那里传递一些特定于项目的变量,您可能需要硬编码参数,但在简单的情况下,它可以更改,比如说,
cmd.exe/k echo WELCOME
(在我的Windows机器上)或者类似的
bash
是,您可以在“首选项>工具>终端>环境变量”中进行设置。

此设置适用于当前项目。因此,可以为每个项目设置不同的值

需要注意的一点是,无论何时修改项目的JDK(特别是主要的版本升级),都必须记住更新这个


设置将在下次打开新终端(或重新启动IDE)时进行。

即使是java版本也不会。我看到的是相同的1.8版。谢谢,我可以更新shell路径设置以指向JSK 1.6吗?我已经开始工作了,我在设置->工具->终端->shell路径中使用了以下命令“zsh&&export JAVA_HOME=/Library/JAVA/JavaVirtualMachines/jdk1.6/Contents/HOME”