java - Kotlin: Unresolved reference :javaClass

标签 java kotlin

我希望有人在构建我的 java/Kotlin 项目时遇到了我遇到的问题。 该项目与java和kotlin互操作,有以下版本:

  • JDK 1.7
  • Kotlin 0.9.66
  • Gradle(包装器)2.0

在我进行一些更改(即将一些 java 类转换为等效的 kotlin 版本)之前,Kotlin 一直编译良好。

这是我看到的错误:

  c:\projects\myproject>gradlew  :java:workspace:models:compileKotlin  --stacktrace     :java:workspace:models:compileKotlin

w: Annotations path entry points to a non-existent location:
C:\projects\myproject\java\workspace\models\annotations

e: C:\projects\CustomerProfileEmail.kt: (15, 32): Unresolved reference: toLowerCase
e: C:\projects\CustomerProfilePhone.kt: (34, 22): Unresolved reference: equalsIgnoreCase
e: C:\projects\Account.kt: (17, 21): Unresolved reference: javaClass
e: C:\projects\Account.kt: (18, 21): Unresolved reference: javaClass
e: C:\projects\Account.kt: (31, 15): Unresolved reference: indexOf
e: C:\projects\Account.kt: (35, 15): Expression 'length' of type 'kotlin.Int' cannot be invoked as a function. The function invoke() is not found
e: C:\projects\Account.kt: (39, 15): Expression 'length' of type 'kotlin.Int' cannot be invoked as a function. The function invoke() is not found
e: C:\projects\Balance.kt: (10, 21): Unresolved reference: javaClass
e: C:\projects\Balances.kt: (12, 21): Unresolved reference: firstOrNull
e: C:\projects\Balances.kt: (12, 35): Cannot infer a type for this parameter. To specify it explicitly use the {(p : Type) -> ...} notation
e: C:\projects\Debit.kt: (7, 12):Unresolved reference: javaClass
e: C:\projects\ProgramR.kt: (12, 21): Unresolved reference: javaClass
e: C:\projects\ProgramR.kt: (13, 21): Unresolved reference: javaClass
e: C:\projects\Transaction.kt: (7, 12): Unresolved reference: javaClass
e: C:\projects\Transaction.kt: (7, 40): Unresolved reference: javaClass
e: C:\projects\Adjustment.kt: (13,21): Unresolved reference: javaClass
e: C:\projects\Reward.kt: (12, 24): Unresolved reference: javaClass
:java:workspace:models:compileKotlin FAILED

FAILURE: Build failed with an exception.

以下是源代码示例:

import javax.xml.bind.annotation.*

XmlAccessorType(XmlAccessType.FIELD)
XmlType
XmlSeeAlso(javaClass<LoyaltyCredit>(), javaClass<Debit>())
public open class Transaction: TransactionParent(){
    public var account: Account? = null
    public var balances: Balances? = null
    public var rewards: Rewards? = null
}

Gradle 脚本

repositories {
    mavenCentral()
}

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.connorgarvey.gradle:gradle-grails-wrapper:1.0'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.9.66'
        classpath 'org.jetbrains.kotlin:kotlin-stdlib:0.9.66'
    }
}

apply from: 'build/includes.gradle'

我已经看过这个:https://devnet.jetbrains.net/message/5478050没有帮助。

任何帮助将不胜感激!

最佳答案

比较你的脚本和 Kotlin reference关于 Gradle。

Kotlin Stdlib 依赖项应该在另一个范围内,而不是 buildscript。 Kotlin 插件也应该使用 apply plugin 来应用。

关于java - Kotlin: Unresolved reference :javaClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27520828/

相关文章:

java - 遍历属性文件中的 SOAP 请求

java - super CSV 和分组分隔符

kotlin - 如何在 Kotlin 中访问内部对象的成员

kotlin - 如何从 Kotlin 中的另一个目录导入文件?

javadoc - 如何继承 KDoc 文档?

java - JavaCL 和 JogAmp JOCL 比较如何?

java - Jenkins CLI 不会安装;它只是挂着

java - java中的破折号分隔符正在改变输出

java - 如何使用注解实现动态 linting 检查?

父类(super class)中的 Kotlin Init Block 在继承时使用 null 属性触发