java - 如何让 maven 识别我的 jdk 版本?
问题描述
我在 OSx (El Capitain) 上运行 Java 8
> ${JAVA_HOME}/bin/java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
正如这个单独的答案中所述,我需要使用 maven 编译器插件将我的 java 版本用于 maven。
所以我pom.xml
使用jdk.version
占位符将以下内容添加到
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
</plugin>
</plugins>
</build>
但是,我在运行时仍然收到以下错误mvn jetty:run
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project spark-example: Compilation failure
[ERROR] /Users/abhishek/git/abhishek/spark-example/src/main/java/Main.java:[5,34] lambda expressions are not supported in -source 1.5
[ERROR] (use -source 8 or higher to enable lambda expressions)
我知道我可以用硬编码1.8
代替jdk.version
,但我觉得我已经看到在其他项目中使用它没有问题。
那里有我遗漏的东西,或者有什么具体原因不起作用?
谢谢!
解决方案
我认为您想使用属性 ${jdk.version},但它没有在 pom.xml 中定义。
尝试在 pom.xml 中添加以下代码:
<properties>
<jdk.version>1.8</jdk.version>
</properties>
请参阅pom 中的属性。
推荐阅读
- python - 如何获取在 discord.py 中引发错误的命令名称?
- javascript - 使用 react-moralis 的对象辅助方法
- unity3d - 如何设置随机旋转物体的速度?统一
- php - DocuSign API:initialHere 和 signHere 在同一个文档上......或不
- reactjs - 同一函数体中的 React 上下文更新被聚合为具有数据存储的单个事务,这是预期的行为吗?
- git - 推送后如何回到上一个git commit
- python - 如何解压缩 numpy.ndarray 并将其转换为另一个数组?
- php - json_decode 作为全局变量
- c# - 使用 Nuget 共享模型时,如何解决 ASP.NET Framework 的模型绑定问题?
- javascript - 想要将此 jQuery 代码转换为 vanilla JavaScript