如何更改 Intellij 中所有项目的项目语言级别
How to change project language level for all project in Intellij
我正在使用 Intellij。这很好,但是当我创建一个新项目或导入一个项目时,默认项目语言级别设置为 6(接口中的@override)。但我想将其设置为 8(Lambda、类型注释等)。我怎样才能做到这一点?我尝试更改 "Other Settings" -> "Default Project Structure" 中的设置并将项目语言级别设置为 8,但没有成功。请有人帮助我。我添加了一个屏幕截图。
- 我正在使用 Intellij 14.0.2
文件 -> 其他设置 -> 默认项目结构...
你可以在那里更改它。
(编辑:现在称为 "Structure for New Projects")
我按照上面的建议将设置更改为 Java 8...->默认项目结构。
没用!!
我仍然无法在编辑器中正确编写 Lambda 的。
创建项目时,我选择了Gradle 作为构建工具。
出于某种原因,我的 Java/Gradle 项目将 build.gradle 文件中的源兼容性设置为 1.5(可能是因为我的默认值最初设置为 1.5...我不知道,因为我懒得复制它):
apply plugin: 'java'
sourceCompatibility = 1.5
repositories {
mavenCentral()
}
将 sourceCompatibility 更改为 1.8 解决了问题,因为对 gradle 文件的更新也会触发项目构建。
智者之言:
any newbie on Intelij should remember that not selecting either Maven
or Gradle in conjunction with your Java project creation will not setup the
default package (src/main/test and src/main/java) structures necessary;
for eclipse users this is a real head scratcher when first starting to
use Intelij.
我不得不编辑 .idea/misc.xml
并将 languageLevel="JDK_1_7"
更改为 languageLevel="JDK_1_8"
。我无法通过 osx 中的 ui 更改语言级别。
** Intellij 15.0.4
我有同样的问题。更改 IntelliJ IDEA 设置文件(misc.xml、compiler.xml)没有帮助。然后我在两个地方更改了语言级别:
1) File -> Project Structure -> Modules, "Sources" tab, Language level
8 (or higher).
2) Settings -> Build, Execution,Deployment -> Compiler -> Java Compiler ->
Target bytecode version (version 1.8)
这很好用。
如果是maven项目,请确保设置了以下内容。
例如,如果你想使用Java 8语言特性(-source 1.8)并且还希望编译后的类兼容JVM 1.8(-target 1.8),你可以添加以下两个属性,它们是插件参数的默认 属性 名称:
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
有关详细信息,请查看 this
同样的问题,但解决方案略有不同。 IntelliJ(2018.1.15)给了我将语言级别设置为 6 的选项,我接受了。这将以下内容添加到项目 .iml 文件中:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>6</source>
<target>6</target>
</configuration>
</plugin>
</plugins>
</build>
然后我能够将源和目标更新为 8。
我通过以下方式解决了这个问题:
文件 -> 项目结构...
并从 "Project language level"
下的下拉列表中选择一个选项
希望对您有所帮助!
我正在使用 Intellij。这很好,但是当我创建一个新项目或导入一个项目时,默认项目语言级别设置为 6(接口中的@override)。但我想将其设置为 8(Lambda、类型注释等)。我怎样才能做到这一点?我尝试更改 "Other Settings" -> "Default Project Structure" 中的设置并将项目语言级别设置为 8,但没有成功。请有人帮助我。我添加了一个屏幕截图。
- 我正在使用 Intellij 14.0.2
文件 -> 其他设置 -> 默认项目结构...
你可以在那里更改它。
(编辑:现在称为 "Structure for New Projects")
我按照上面的建议将设置更改为 Java 8...->默认项目结构。
没用!!我仍然无法在编辑器中正确编写 Lambda 的。
创建项目时,我选择了Gradle 作为构建工具。 出于某种原因,我的 Java/Gradle 项目将 build.gradle 文件中的源兼容性设置为 1.5(可能是因为我的默认值最初设置为 1.5...我不知道,因为我懒得复制它):
apply plugin: 'java'
sourceCompatibility = 1.5
repositories {
mavenCentral()
}
将 sourceCompatibility 更改为 1.8 解决了问题,因为对 gradle 文件的更新也会触发项目构建。
智者之言:
any newbie on Intelij should remember that not selecting either Maven or Gradle in conjunction with your Java project creation will not setup the default package (src/main/test and src/main/java) structures necessary; for eclipse users this is a real head scratcher when first starting to use Intelij.
我不得不编辑 .idea/misc.xml
并将 languageLevel="JDK_1_7"
更改为 languageLevel="JDK_1_8"
。我无法通过 osx 中的 ui 更改语言级别。
** Intellij 15.0.4
我有同样的问题。更改 IntelliJ IDEA 设置文件(misc.xml、compiler.xml)没有帮助。然后我在两个地方更改了语言级别:
1) File -> Project Structure -> Modules, "Sources" tab, Language level 8 (or higher).
2) Settings -> Build, Execution,Deployment -> Compiler -> Java Compiler -> Target bytecode version (version 1.8)
这很好用。
如果是maven项目,请确保设置了以下内容。
例如,如果你想使用Java 8语言特性(-source 1.8)并且还希望编译后的类兼容JVM 1.8(-target 1.8),你可以添加以下两个属性,它们是插件参数的默认 属性 名称:
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
有关详细信息,请查看 this
同样的问题,但解决方案略有不同。 IntelliJ(2018.1.15)给了我将语言级别设置为 6 的选项,我接受了。这将以下内容添加到项目 .iml 文件中:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>6</source>
<target>6</target>
</configuration>
</plugin>
</plugins>
</build>
然后我能够将源和目标更新为 8。
我通过以下方式解决了这个问题:
文件 -> 项目结构... 并从 "Project language level"
下的下拉列表中选择一个选项希望对您有所帮助!