Kotlin在本地机器上正确编译项目,但是通过Jenkins,它会抛出异常

问题描述 投票:1回答:1

我有一个库,其中有一个伴随对象值,如下所示

companion object {
    const val QUEUE_CLUSTER_ID = "Commands"
}

我的项目的一个类依赖于这个库使用lib的QUEUE_CLUSTER_ID val,如下所示

data class CreateCatalogItemCommand(
    @JsonProperty("styleVariant") val styleVariant: StyleVariant?) : Commandable() {

    companion object {
        const val QUEUE_ID =  QUEUE_CLUSTER_ID.plus("CreateCatalogItemCommand")
    }
}

问题是kotlin在我的机器上正确编译项目但是通过jenkins我得到以下错误。当QUEUE_ID设置为普通字符串时,错误消失。

[INFO] --- kotlin-maven-plugin:1.3.21:compile (compile) @ catalog- 
service ---
[INFO] Applied plugin: 'spring'
[ERROR] /var/lib/jenkins/workspace/Catalog-Service/src/main/kotlin/com/mg/catalog/command/CreateCatalogItemCommand.kt: (11, 31) Unresolved reference: QUEUE_CLUSTER_ID
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.864s 
[INFO] Finished at: Fri Mar 29 08:40:37 UTC 2019
[INFO] Final Memory: 74M/713M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.jetbrains.kotlin:kotlin-maven- 
plugin:1.3.21:compile (compile) on project catalog-service: Compilation 
failure
[ERROR] /var/lib/jenkins/workspace/Catalog-Service/src/main/kotlin/com/mg/catalog/command/CreateCatalogItemCommand.kt: 
[11,31] Unresolved reference: QUEUE_CLUSTER_ID
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to 
execute goal org.jetbrains.kotlin:kotlin-maven-plugin:1.3.21:compile 
(compile) on project catalog-service: Compilation failure
/var/lib/jenkins/workspace/Catalog-Service/src/main/kotlin/com/mg/catalog/command/CreateCatalogItemCommand.kt:[11,31] Unresolved reference: QUEUE_CLUSTER_ID
jenkins kotlin
1个回答
1
投票

似乎该例外与kotlin类型推断有关。在我指出特定编译类型没有错误的情况下。但为什么?仍然不明白我的机器如何编译类型推断?

companion object {
    const val QUEUE_CLUSTER_ID: String = "Commands"
}
© www.soinside.com 2019 - 2024. All rights reserved.