error: generics не поддерживаются в -source 1.3 при компиляции кода Java с Kotlin

Я использую Maven и kotlin-maven-plugin для компиляции кода.

 <plugin> <artifactId>kotlin-maven-plugin</artifactId> <groupId>org.jetbrains.kotlin</groupId> <version>${kotlin.version}</version> <executions> <execution> <id>compile</id> <phase>process-sources</phase> <goals> <goal>compile</goal> </goals> <configuration> <sourceDirs> <source>src/main/kotlin</source> <source>src/main/resources</source> <source>target/generated-sources/jooq-h2</source> </sourceDirs> </configuration> </execution> <execution> <id>test-compile</id> <phase>process-test-sources</phase> <goals> <goal>test-compile</goal> </goals> <configuration> <sourceDirs> <source>src/test/kotlin</source> </sourceDirs> </configuration> </execution> </executions> </plugin> 

target/generated-sources/jooq-h2 содержит исходные файлы Java. Я следую рекомендациям Котлина и другим людям, добавляя комплайнт Котлина в <phase>process-sources</phase> а не <phase>compile</phase> . Я (возможно, ошибочно?), Полагая, что компилятор Kotlin также позаботится о компиляции этих файлов Java для меня.

Однако на некоторых серверах (например, Jenkins CI) у меня появлялись странные сообщения об ошибках компиляции, такие как:

 [ERROR] /var/lib/jenkins/jobs/jooq-build/workspace/jOOQ-examples/jOOQ-kotlin-example/target/generated-sources/jooq-h2/org/jooq/example/db/h2/tables/Author.java:[35,37] error: generics are not supported in -source 1.3 

Почему это?

Я заметил, что в этом конкретном проекте Kotlin компилятор Java и, в частности, версия Java не были указаны. Это привело к тому, что был выбран какой-то компьютер по умолчанию, который является Java 1.8 для моей локальной машины, но Java 1.3 на сервере Jenkins CI. Добавление явной ссылки на maven-compiler-plugin решило проблему для меня:

 <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> 
Intereting Posts
Приложение Android не может работать в любом эмуляторе Android, Gradle, Realm, Kotlin: Ошибка: ошибка: не удалось найти файл AndroidManifest.xml Неразрешенный справочник KClass пытается использовать DBFlow и Kotlin с Android Android numberPicker, передающий виджет Android в качестве значения Ошибка: выполнение выполнено для задачи ': app: javaPreCompileDebug'. > java.io.IOException: не удалось удалить annotationProcessors.json FusedLocationProviderClient С сервисом Android Kotlin Java / Android / Kotlin: отражение на частном поле и вызов общедоступных методов на нем Kotlin – Как сделать поле только для чтения для внешних классов Android WebView прыгает вверху каждого обновления страницы (?) Не удалось найти метод springBoot () для аргументов – Spring Boot с использованием Kotlin Метод вызова в родовом классе через отражение Сбор данных с локального и удаленного одновременно с использованием RxJava java https: // localhost (SSL) – возможно без установки сертификатов на клиенте? Несколько конструкторов в неизменяемом (data) классе Spring Boot – не может включать статический ресурс