Ваш проект pom содержит: net.imagej: pom-imagej: 13.2.0 , который является org.scijava: pom-scijava: 8.4.0 , который содержит следующие выдержки, относящиеся к версии Java:
<scijava.jvm.version>1.6</scijava.jvm.version>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<!-- Require the Java 6 platform. -->
<configuration>
<source>${scijava.jvm.version}</source>
<target>${scijava.jvm.version}</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
...
<enforceBytecodeVersion>
<maxJdkVersion>${scijava.jvm.version}</maxJdkVersion>
...
</enforceBytecodeVersion>
</plugin>
Итак, правило Играющего и его требование в Java 1.6 наследуются через происхождение вашего проекта.
Это ограничениев Java 1.6 конфликтует с библиотеками JUnit5, которые были скомпилированы в Java 1.8.
Вы могли бы возможно переопределить плагин принудительного применения в своем POM (см. ссылки на combine.self="override"
в Maven docs ), но тот факт, что прародитель вашего модуля (org.scijava:pom-scijava:8.4.0
) явно заявляет, что ожидает запуска на Java 1.6, настоятельно предполагает, что любое такое переопределение вызовет проблемы.
Я думаю, что более разумный курс будетбыть одним из следующих:
- Понижение версии с Junit5 до версии Junit4, совместимой с Java 1.6
- Обновление версии вашего родителя (
net.imagej:pom-imagej:13.2.0
) до версии, которая являетсякомсовместимо с Java 8, обратите внимание: net.imagej:pom-imagej:13.2.0
уже 3 года, поэтому вы можете обнаружить, что при обновлении до последней версии эта проблема исчезнет.