尽管在所有项目设置(包括in File -> Project Structure -> Project :: Project SDK
)中都指定了JDK 1.7 ,但IntelliJ 13
在尝试编译一些使用菱形运算符的简单Java 7代码时会产生以下错误:
java: diamond operator is not supported in -source 1.5
(use -source 7 or higher to enable diamond operator)
Run Code Online (Sandbox Code Playgroud)
配置中是否还有其他位置-source 7
应启用预期选项?
我们有一个基于Maven的Android版本,我们刚刚从JDK 6切换到7.
然而,它带来了IntelliJ问题的一部分.每次检测到POM中的更改并重新导入/刷新项目时,它会返回选择旧的"模块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>
Run Code Online (Sandbox Code Playgroud)
IntelliJ应该选择并始终将项目配置为使用Java 7 SDK?我错过了什么吗?
我注意到当我在IntelliJ中完全删除对1.6 SDK的任何引用时问题就消失了.我猜这并不奇怪,但也不可行,因为我还有其他项目仍然依赖于Java 6 SDK的存在.
我正在使用 Maven 和 Intellij,为 jdk-12.0.2 设置项目,在 pom 1.8 中使用 maven,并在尝试运行此代码时:
WebDriverWait wait = new WebDriverWait(driver, 5);
WebElement el = wait.until(ExpectedConditions.elementToBeClickable(By.linkText("https://poczta.wp.pl")));
Run Code Online (Sandbox Code Playgroud)
我得到:
错误:(37, 30) java: 无法访问 java.util.function.Function 的 java.util.function.Function 类文件未找到
指向“等待”
尝试将 pom 中的 maven 从 1.7 更改为 1.8。>Invalidate cache/Restart