Оператор multi-catch не поддерживается в -source 1.6 (используйте -source 7 или выше, чтобы включить оператор multi-catch)

Я запускаю компиляцию на Jenkins, используя maven 3.3.9. Я получаю эту ошибку в некотором коде, но не во всех:

оператор multi-catch не поддерживается в -source 1.6 (используйте -source 7 или выше, чтобы включить оператор multi-catch)

Я компилирую с Java 8:

Выполнение Maven: -B -f /opt/jenkins/workspace/product/product-Content-Operations_RELEASE/pom.xml -s /opt/jenkins/maven/settings.xml очистить развертывание -U -X -rf: crawlers-module

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T08: 41: 47-08: 00)

Дом Maven: /opt/apache-maven-3.3.9

Версия Java: 1.8.0_92, поставщик: корпорация Oracle

Домашняя страница Java: /usr/java/jdk1.8.0_92/jre

Локаль по умолчанию: en_US, кодировка платформы: ANSI_X3.4-1968

Название ОС: "linux", версия: "2.6.18-371.el5", arch: "amd64", семейство: "unix"

Я убедился, что он использует Java 8 из командной строки.

Кто-нибудь работал над этим? Я в тупике.

1 ответ

Решение

Угадайте: где-то глубоко в настройках компиляции вы фактически заставляете -source 1.6

Итак, да, вы используете JDK 1.8; но ваша установка хочет ограничиться Java 1.6; и это, конечно, не работает; так как "multi-catch" является "слишком новым" для Java 1.6.

Поэтому я бы начал искать именно такие строки, как "1.6" в ваших файлах конфигурации сборки (и вывода).

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