我正在测试Java 8的一些新特性,并将示例复制到我的IDE(最初是Eclipse,然后是IntelliJ),如下所示
Eclipse对lambda表达式不提供任何支持,IntelliJ不断报告错误
此语言级别不支持Lambda表达式
我想知道这是否是我的安装、代码或支持的问题。
我正在测试Java 8的一些新特性,并将示例复制到我的IDE(最初是Eclipse,然后是IntelliJ),如下所示
Eclipse对lambda表达式不提供任何支持,IntelliJ不断报告错误
此语言级别不支持Lambda表达式
我想知道这是否是我的安装、代码或支持的问题。
当前回答
即使在IntelliJ和Eclipse上应用了上述定义的项目特定设置,它仍然是失败的!
对我来说有用的是在POM XML中添加了带有源和目标的maven插件,设置为1.8:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.abc.sparkcore.JavaWordCount</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
其他回答
对于intellij 13, 使用下面的导航,简单地将Project语言级别本身更改为8.0。
File
|
|
---------Project Structure -> Project tab
|
|________Project language level
模块郎水平
当java编译器没有maven插件时,我还必须更新Modules lang级别。
File
|
|
---------Project Structure -> Modules tab
|
|________ language level
但如果已经有maven插件,这个Module lang级别将自动固定,
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
在改变之后,一切看起来都很好
首先检查您使用的JDK版本,它应该高于1.8。
如果是,则继续执行以下步骤。
在Intellij中更改项目和模块的语言级别。
项目
1.文件->项目结构->项目->项目语言级别 将其更改为8,lamba表达式才能工作 2.文件->项目结构->模块->项目语言级别 将其更改为8,lamba表达式才能工作
对我来说,所有的解决方案都不起作用。
这应该是你最后的选择: 打开项目的。iml文件,将LANGUAGE_LEVEL更改为JDK_1_8或任何你想要的版本。 如果这没有帮助,你应该在你的项目根目录下grep“JDK”,找到包含版本设置的文件,并将其设置为你喜欢的版本。
检查以下设置:
文件->项目结构->项目标签。 项目SDK应设置为8或以上 文件- >项目结构- >模块。 *检查您或所有模块的语言级别设置为8或以上 文件->设置(或其他设置->首选项在新Idea版本的新项目) *搜索Java编译器,检查项目字节码版本 并且每个模块的字节码版本设置为8或以上
您的问题可能属于上述定义的任何一类。
只需在build中添加compileOptions即可。Gradle你的应用:
android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}