首页 > 解决方案 > 从其他来源构建时出现 Java/RXJava3 错误

问题描述

C:\Users\Admin\Desktop\ExternalPlugins-master\PerfectSpec\src\main\java\net\runelite\client\plugins\perfectspec\MenuEntrySwapConsumer.java:47: error: cannot access Consumer
        eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked);
                ^
  class file for io.reactivex.rxjava3.functions.Consumer not found

我对 Java 有点陌生,我正在尝试使用其他来源的代码构建我的程序,但我收到了这个错误。我正在使用 Intellij,有人知道如何解决吗?

谢谢!

标签: javaintellij-idearx-java

解决方案


此项目构建文件具有无效依赖项。它在代码中使用时导入rxjava2库。rxjava3

要解决问题,您需要编辑Dependencies.kt:46并将其更改为const val rxjava = "io.reactivex.rxjava3:rxjava:${Versions.rxjava}".

然后在Dependencies.kt:38更改为const val rxjava = "3.0.1"

然后评论这些行:

  • build.gradle.kts:15( implementation("io.reactivex.rxjava3:rxjava:3.0.1"))
  • PerfectSpec/perfectspec.gradle.kts:38( compileOnly("io.reactivex.rxjava2:rxjava:2.2.19"))

也有一个错字net/runelite/client/plugins/externals/perfectspec/MenuEntrySwapConsumer.java:48,这一行应该是这样的eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded);

在这些更改之后,项目导入和构建对我来说没有错误。


推荐阅读