这是来自Maven项目的简单代码,该项目具有try-with-resources。我使用eclipse作为我的IDE。
public class Hello {
public static void main(String[] args) {
try(FileInputStream fi = new FileInputStream("ANC")){
} catch (IOException e) {
e.printStackTrace();
}
}
}
当我使用clean package -U
构建它时,它会给我以下错误。
Hello.java:[11,20] try-with-resources is not supported in -source 1.5
(use -source 7 or higher to enable try-with-resources).
但是,我的Java编译器设置为Java 1.8,而Jave Build路径JRE系统库也是JDK 1.8。此错误仍然存在。
这是我的POM文件(减去junit依赖关系)
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.commonutil</groupId>
<artifactId>PropertyFile</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>PropertyFile</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
注意:在pom.xml中设置目标和源也没有帮助。 对此有任何帮助表示赞赏。谢谢。
答案 0 :(得分:6)
您需要指定java源版本,因此编译器插件使用正确的标志值。例如:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>