Как заставить 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)

Как указано в этом отдельном ответе, мне нужно, чтобы моя версия Java была maven с использованием плагина компилятора 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, но я чувствую, что видел, как это использовалось без проблем в других проектах.

Есть ли что-то, чего я там не хватает, или какая-то конкретная причина, по которой это не работает?

Спасибо!

1 ответ

Решение

Я думаю, что вы хотите использовать свойство ${jdk.version}, но оно не было определено в pom.

Попробуйте добавить код ниже в вашем pom.xml:

<properties>
  <jdk.version>1.8</jdk.version>
</properties>

Пожалуйста, обратитесь к свойствам в пом.

Другие вопросы по тегам