2015-06-04 5 views
1

Я пытаюсь создать приложение для Maven, но я получаю сообщение об ошибке:Maven построить провал

[ERROR] Не удалось выполнить голевые org.apache.maven.plugins: Maven-компилятора-плагин: 2.5. 1: компиляция (по умолчанию компиляция) в проекте helloworld: сбой компиляции

[ERROR] D: ... \ Spark-test \ java-get-started \ src \ main \ java \ Main.java: [73, 35] ошибка: лямбда-выражения не поддерживаются в -source 1.5

Это пример Java проект Heroku, и в system.properties файл версии Java устанавливается: java.runtime.version = 1,8

Конкретные линии таковы:

get("/login", (request, response) -> { 
    System.out.println("request: " + request); 
    return "Hello World From Spark"; 
}); 

Я не понимаю, где будет проблема, или где установлен источник для Java 1.5

ответ

7

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

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.3</version> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
    </configuration> 
    </plugin> 

Как-то maven пытается скомпилировать против java 1.5, у которого еще не было лямбда (только с 1.8). Как вы начинаете сборку? Maven или IDE?

+1

Maven действительно компилируется для Java 5, потому что это то, что Maven делает по умолчанию, если вы его не укажете. – Jesper

+0

Спасибо, Jesper, не знал, что по умолчанию это заняло 5. – Kuurde

+0

Ссылка: [Плагин компилятора Apache Maven] (https://maven.apache.org/plugins/maven-compiler-plugin/): «Также обратите внимание, что в настоящее время исходный параметр по умолчанию - 1,5, а целевой целевой настройкой по умолчанию - 1,5 , независимо от JDK вы запускаете Maven с. »_ –

Смежные вопросы