2015-04-07 2 views
0

я написал тест, используя JMH и при сборке я получаю после сбоя компиляцииКак использовать Java 8 для JMH?

lambda expressions are not supported in -source 1.6 
[ERROR] (use -source 8 or higher to enable lambda expressions) 

JAVA_HOME установлен в jdk1.8_40. Я попытался изменить цель и источник в pom.xml в JMH исходной папки JMH-ядра:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <compilerVersion>1.8</compilerVersion> 
       <source>1.8</source> 
       <target>1.8</target> 
       <compilerArgument>-proc:none</compilerArgument> 
      </configuration> 
     </plugin> 

Но я все еще получаю ту же ошибку

+1

В JMH-ядра? Запустите maven с -X, чтобы увидеть, какой параметр target/javac выбран. –

+0

Версия компилятора все еще 1.6, compilerVersion = 1.6. source = 1.6 и target = 1.6. Я не знаю, где я могу это изменить? – Bionix1441

+1

Я бы дважды проверил ваш javahome с echo $ JAVA_HOME, предположив, что вы находитесь в Linux и добавляете эту конфигурацию источника/цели в pom вашего проекта, я не понял эту ссылку на jmh-core, пытаетесь ли вы скомпилировать эту библиотеку или ваш проект с зависимостью от jmh? –

ответ

3

Вы используете Mac? Если это так, java 6 уже установлен. Я рекомендую просто удалить его из/System/Library/Java/JavaVirtualMachines /.

Независимо от того, проверьте java -version, чтобы узнать, какая версия jdk используется. Затем введите mvn -version в командной строке. Указывает ли он на java 6? Если да, то добавьте следующие строки в ваш ~/.mavenrc:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/{jdk-version}/Contents/Home 

Где JDK-версия будет ваша версия Java 8

+0

Я использую Linux, переменные среды JAVA_HOME и PATH правильно установлены в jdk8. – Bionix1441

+0

Где я могу найти ~/.mavenrc? – Bionix1441

+0

Из домашнего каталога в консоли введите vim ~/.mavenrc (или замените vim своим любимым инструментом.) Вероятно, он будет пустым. –

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