当前位置: 首页 > 知识库问答 >
问题:

静态编程语言Foo::class.java"未解析引用:Java"错误

郎仰岳
2023-03-14

我正在尝试转换主页的Java代码。类到Kotlin。我正在按照Kotlin的指示行事。组织:

getClass()

为了从对象检索类型信息,我们使用javaClass扩展属性。

foo.java类

而不是Java的Foo.class使用Foo::class.java

::class.java

我有一个名为HomePage的类,它扩展了AppCompatActivity(在Android中)。我正在使用Android Studio。我试着做HomePage::class。java并且它有一个错误:解析的引用:java

我怎样才能让它工作?

共有3个答案

慕容昊焜
2023-03-14

我放在Gradle的开头(模块应用)

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

或者

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

在依赖项部分

在构建中。格雷德尔(项目)

buildscript {
    ext.kotlin_version = '1.2.0'
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
孙宏壮
2023-03-14

事实证明,我使用的是Kotlin的旧版本,但配置不正确。我编辑了gradle文件以包含最新的beta版本,并选择了配置Kotlin的选项,现在它可以工作了。

在格拉德尔:

buildscript {
    ext.kotlin_version = '1.0.0-beta-3594'
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
    }
}
...

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
苏凯
2023-03-14

问题很可能是您忘记依赖Kotlin的反射函数所需的反射库。

在Java平台上,使用反射特性所需的运行时组件作为单独的JAR文件(kotlin-reflect.jar)分发。这样做是为了减少不使用反射特性的应用程序所需的运行库大小。如果使用反射,请确保将. jar文件添加到项目的类路径中。

来源

 类似资料:
  • 我是新来的kotlin,我已经转换了一些代码从java,但似乎有什么问题, the R in findViewById(R.id.my_id)突出显示为红色,它显示此消息:"未解决的引用: R"...我一直在寻找一个解决方案,但我似乎不明白,那么我该怎么办?这是一张截图:

  • 我有一个使用Kotlin 1.0版的Android项目。Android Studio中的0-beta-1038。 我可以在不同的部分使用Kotlin运行它,它在模拟器中编译并工作,但当我尝试使用ReadWriteProperty时,它会给出以下错误消息: 未解析的引用:ReadWriteProperty 类称为首选Utils.kt: build.grade(模块:app) build.grade(

  • 简而言之,我的问题是我不能在用Kotlin编写的活动中使用GlideApp(生成的API)。 有趣的是,Android Studio看到了参考,我可以打开生成的GlideApp,有代码完成,但当我尝试构建它时,它失败了 “未解析的引用:GlideApp” glide模块是用java实现的,因为大多数应用程序代码都是用java编写的。 有什么想法吗?

  • 我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?

  • 我想知道为什么在下面的代码中没有捕捉到异常: 函数的调用方式如下: 但我还是遇到了一个导致应用程序崩溃的异常: 我想说try/catch块会捕获异常,但唉。。。 什么原因导致异常没有被捕获?我想说线程并不重要,因为我使用try/get块来处理线程中的异常。 在Laalto的回答之后,我更新了代码,如下所示(对于那些感兴趣的人):

  • 我有一个Spring Boot应用程序,以Kotlin为语言,Gradle为构建系统。所以基本上,我试图用应用程序源代码和依赖项构建一个胖jar,可以使用Java命令行工具运行。 Gradle构建脚本: 如果我使用gradle命令运行项目,那么它运行正常。但是当我构建jar并尝试ti运行时,它会抱怨以下错误:- 应用.kt:- 不知道我到底哪里做错了什么。