maven 指向 java 1.8,但 maven 命令抱怨 使用 -source 8 或更高版本启用静态接口方法
$mvn -version
拿起_JAVA_OPTIONS:-Xmx2048m -XX:MaxPermSize = 512m -Djava.awt.headless = true OpenJDK 64 位服务器 VM 警告:忽略选项 MaxPermSize=512m; 8.0 中删除了支持 Apache Maven 3.1.0(893ca28a1da9d5f51ac03827af98bb730128f9f2;2013-06-27 19:15:32-0700) Maven主页:/opt/apache-maven-3.1.0 Java版本:1.8.0_101,供应商:Oracle Corporation Java主目录:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el6_8.x86_64/jre 默认区域设置:en_US,平台编码:UTF-8 操作系统名称:“linux”,版本:“2.6.32-573.el6.x86_64”,arch:“amd64”,系列:“unix”
echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk.x86_64 谁能帮忙指出这里出了什么问题吗?
如果没有看到实际的 pom,很难判断,但也许你应该配置 Maven 编译器插件以使用 Java 8。
您可以在此处此处查看执行此操作的示例。
最简单的方法可能是:
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
我认为maven项目在较低版本的jdk 8上运行。请检查版本,转到项目属性> Project Facets> java 1.8版本是否选择...如果没有,则选择并应用并再次运行。
完成第一个答案
读完后我也遇到了同样的问题 https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html
在pom.xml中我们需要设置maven-compiler-plugin的源和目标,否则默认值太低
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.12.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>