IntelliJ使用错误的JDK版本从POM导入项目

时间:2014-09-04 13:14:37

标签: java android maven intellij-idea

我们有一个基于Maven的Android版本,我们刚刚从JDK 6切换到7。

然而,它带来了IntelliJ问题的一部分。会发生的是每次检测到POM中的更改并重新导入/刷新项目时,它都会返回选择旧的“Module SDK”,即配置为使用Java 6的那个:

enter image description here

即使我从“平台设置”对话框中手动删除这些SDK,它们也会继续显示为“Maven Android API 19 Platform(N)”,其中N是用于从所有其他(相同)SDK中消除歧义的数字。

我应该提一下,我们在POM中指定Java 7是针对性的。我试图设置编译器插件语言级别和maven.compiler.*属性(不确定是否完成相同的事情),没有运气:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.1</version>
  <configuration>
    <source>1.7</source>
    <target>1.7</target>
  </configuration>
</plugin>

不应该IntelliJ选择它并始终配置项目以使用Java 7 SDK?我错过了什么吗?

我注意到当我在IntelliJ中完全删除对1.6 SDK的任何引用时问题就消失了。我猜这并不奇怪,但也不可行,因为我还有其他项目依赖于Java 6 SDK的存在。

2 个答案:

答案 0 :(得分:1)

它会选择你在项目结构中选择的jdk,请在那里更改。

档案&gt;项目结构&gt;项目设置&gt;项目&gt; project sdk选择1.7。

如果不存在1.7则转到 文件&gt;项目结构&gt;平台设置&gt; SDK在那里增加了1.7。

答案 1 :(得分:0)

同样重要的是要注意,您需要更改Maven的运行程序(jdk级别)。

  

Maven > 亚军> JRE