使用IntelliJ IDE不能编译任何项目。设置截图如下:
使用JDK:
项目SDK及语言级别:
语言水平:
有人有什么想法吗?
使用IntelliJ IDE不能编译任何项目。设置截图如下:
使用JDK:
项目SDK及语言级别:
语言水平:
有人有什么想法吗?
这看起来就像没有正确配置编译器插件时Maven生成的那种错误。下面是一个Java 8编译器配置的例子。
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- ... -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<!-- ... -->
</project>
去文件>设置>构建,执行,部署>编译器> Java编译器如果在Mac上,它在Intellij IDEA >首选项…>构建,执行,部署> Java编译器 将您正在工作的模块的目标字节码版本更改为1.8。
如果您正在使用Maven
将编译器插件添加到顶级项目节点下的pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
(摘自评论。)
注意:如果您不介意重新导入项目,那么您真正需要做的唯一一件事就是更改pom并重新导入项目,然后IntelliJ将获得正确的设置,您不必手动更改它们。
我找到的最快的方法是:
按:CTRL + SHIFT + A (Mac⌘+ SHIFT + A) 类型:Java编译器 新闻:输入
在“设置”窗口中,将Target字节码设置为1.8
(对于java9来说是9)
我通过修改我的POM文件来修复它。注意票数最高的答案下面的最后一条评论。
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
源必须与目标匹配。
在我的情况下,我通过打开项目的。iml文件(它位于项目根文件夹,名称与项目名称相同),并将line <orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />更改为<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />来修复这个问题
我在其他答案中配置了所有内容,但由于某种原因,Idea错误地更新了.iml文件。
很多关于Maven的答案都是正确的,但是你不需要直接配置插件。
就像在Apache Maven编译器插件的wiki页面上描述的那样,你可以设置插件使用的2个属性。
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
对我来说,问题在于Maven无法找到适当的配置,因为这些项是在父pom中指定的。
更改文件->设置->构建,执行,部署-> Maven ->用户设置文件指向我的自定义设置,使用适当的存储库修复了隐藏的问题。
通过Help ->在浏览器中显示日志->单击日志文件发现了问题,当以前只得到标题中的错误和“java.lang. lang. log .”NullPointerException”。
在compiler.xml文件下,你会发现:
<bytecodeTargetLevel>
<module name="your_project_name_main" target="1.8" />
<module name="your_project_name_test" target="1.8" />
</bytecodeTargetLevel>
你可以把目标值从旧的改为新的对我来说,我需要把它从1.5改为1.8
对于Intellij,使用Maven,您必须检查Intellij是否自动导入了您的项目。 您可以单击编辑器右侧的Maven选项卡进行检查。
如果您的Project不在这里,那么单击+添加pom.xml文件。
显然,项目还必须有相关的<build/>:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
如果您正在使用Android-studio 1.3,请遵循以下步骤-
进入文件-项目结构
在“模块-应用程序-属性”选项卡下,选择 源代码兼容性-1.8和
目标兼容性- 1.8。
这样就可以开始了。
如果其他答案都无效,请检查模块SDK。
在我将项目SDK更新到1.8、Javac编译器更新到1.8等之后,这个错误就跳出来了。对我来说,问题的设置是“模块SDK”。
(在Linux上)进入文件>项目结构…然后在打开的窗口中,选择项目设置下的模块。从列表中选择有问题的模块,然后选择Dependencies选项卡,确保模块SDK设置正确。
我刚刚也被同样的问题困扰了一段时间。 唯一对我有用的是没有使用内置的mvn(3.3.9),而是将其指向外部下载的版本(3.5.0)。最后项目开始了,一切都很顺利。
在你的Gradle应用级别文件>> compileOptions中添加这两行
android {
compileOptions {
...
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
...
}
}
下面的代码在我身边工作得很好。我只是把它添加到pom.xml文件中。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>