1 回答

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
您的項(xiàng)目pom的父級(jí)為:net.imagej:pom-imagej:13.2.0,其父級(jí)為org.scijava:pom-scijava:8.4.0,其中包含以下與 Java 版本相關(guān)的摘錄:
<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>
因此,執(zhí)行者規(guī)則及其對(duì) Java 1.6 的堅(jiān)持是通過(guò)您項(xiàng)目的出身繼承的。
這種對(duì) Java 1.6 的限制與編譯為 Java 1.8 的 JUnit5 庫(kù)沖突。
您也許可以在您自己的 POM 中覆蓋執(zhí)行器插件(請(qǐng)參閱Maven 文檔combine.self="override"中的參考),但是您模塊的祖父 ( org.scijava:pom-scijava:8.4.0) 明確聲明它希望在 Java 1.6 上運(yùn)行這一事實(shí)強(qiáng)烈表明任何此類覆蓋都會(huì)導(dǎo)致問(wèn)題。
我認(rèn)為更明智的課程將是以下之一:
從 Junit5 降級(jí)到與 Java 1.6 兼容的 Junit4 版本
將您的父 ( net.imagej:pom-imagej:13.2.0)版本升級(jí)到與 Java 8 兼容的版本,注意:它net.imagej:pom-imagej:13.2.0已經(jīng) 3 歲了,因此您可能會(huì)發(fā)現(xiàn)升級(jí)到最新版本會(huì)使此問(wèn)題消失。
添加回答
舉報(bào)