通过Travis的本地构建失败



最近,我一直在努力深入了解持续集成的方法,并选择Travis CI担任该职位。然而,在我的一个使用Java和Kotlin的项目中,我的本地构建通过了,但在Travis上失败了。

我一直无法理解我收到的关于我的构建失败的原因的错误消息。CCD_ 1似乎是错误的根源。在生成日志中看到的有问题的命令是mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V。我在本地运行了这个命令,没有任何错误,并且构建成功。

以下是来自CI构建作业的堆栈跟踪的相关片段:

[INFO] --- kotlin-maven-plugin:1.4.32:compile (compile) @ BytesToJava ---
[ERROR] java.lang.ExceptionInInitializerError
at com.intellij.pom.java.LanguageLevel.<clinit>(LanguageLevel.java:25)
at com.intellij.core.CoreLanguageLevelProjectExtension.<init>(CoreLanguageLevelProjectExtension.java:26)
at com.intellij.core.JavaCoreProjectEnvironment.<init>(JavaCoreProjectEnvironment.java:42)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreProjectEnvironment.<init>(KotlinCoreProjectEnvironment.kt:26)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$ProjectEnvironment.<init>(KotlinCoreEnvironment.kt:121)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:425)

非常感谢提供一些资源,甚至是相关的问题线索。提前感谢:(

Travis构建日志

问题是由非法反射操作和Kotlin Maven插件的问题引起的,该插件适用于Java 9之上的任何项目(我的项目使用Java 15(。正如YouTrack上的这个线程所描述的,一个解决方法是:

解决方法是使用以下环境变量运行mvnMAVEN_OPTS=--illegal-access=permit

将具有相同值的全局环境变量添加到my.travis.yml中解决了此问题。

最新更新