我们有一个基于Maven的Android版本,我们刚刚从JDK 6切换到7。
然而,它带来了IntelliJ问题的一部分。会发生的是每次检测到POM中的更改并重新导入/刷新项目时,它都会返回选择旧的“Module SDK”,即配置为使用Java 6的那个:
即使我从“平台设置”对话框中手动删除这些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的存在。
答案 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