如何让 Maven 识别我的 jdk 版本?
How do I get maven to recognize my jdk version?
我在 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。
所以我使用 jdk.version
占位符
将以下内容添加到 pom.xml
<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>
我在 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)
如
所以我使用 jdk.version
占位符
pom.xml
<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>