【问题标题】:Could not find class XXX referenced from method XXX.<YYY>找不到从方法 XXX.<YYY> 引用的类 XXX
【发布时间】:2013-01-23 19:49:09
【问题描述】:

我正在开发一个 libGDX 项目,我有一个名为 CheerVArachnids 的类,它有另一个内联类,它是一个事件侦听器。当我在桌面上运行这个项目时,它工作正常。但是当我在我的 Android 设备上运行时,它找不到那个内联类,我收到以下错误:

Could not find class 'com.bbj.cva.CheerVArachnids$PlaceUnitListener', referenced from method com.bbj.cva.CheerVArachnids.<init>

以下是我班级的重要部分:

package com.bbj.cva;

public class CheerVArachnids implements ApplicationListener {

    class PlaceUnitListener implements EventSubscriber<PlaceUnitEvent> {

        @Override
        public void onEvent(PlaceUnitEvent event) 
        {   
            //
        }
    }

    public CheerVArachnids() {

        EventBus.subscribe(PlaceUnitEvent.class, new PlaceUnitListener());
        EventBus.subscribe(RemoveScreenObjectEvent.class,
                new RemoveScreenObjectListener());
    }
}

任何想法为什么在 Android 上,在运行时找不到该内联类?

【问题讨论】:

  • 异常消息的其余部分是什么?我怀疑这实际上是 PlaceUnitListener 超类的问题(然后 CodeNoob 的答案将适用)。什么是“EventSubscriber”?

标签: android libgdx


【解决方案1】:

由于某些 ADT 版本,您还必须设置应导出哪些库/项目。

Project-Propiertes -> Java Build Path -> Order and Export -> 检查您的源代码和您正在使用的其他库。

为您的核心项目和 Android 项目执行这些导出设置。

那么它应该可以在 Android 上正常运行。

【讨论】:

  • 如果它是一个外部库,那将是有意义的,但这是一个直接内联定义的类。所以没有外部项目依赖。看看 PlaceUnitListener 是如何在构造函数之上声明的。
  • 我经常遇到这些错误,而且消息经常是错误的。就是这样,它找不到应该实现的接口/类,我有点解释不清,但是,你从哪里得到 EventSubscriber?这是来自外部库对吧?
  • 如果它们在 maven 依赖项中......人们会期望它们在构建路径中......叹息。谢谢@CodeNoob
  • 正如@umbyslipknot 提到的,这仅在我将罐子移到订单和出口列表顶部时才对我有用。好建议。
【解决方案2】:

在我为 SDK 和 Eclipse 安装新更新之前,一切正常。

我收到一个错误:“找不到类...”

我在另一个 stackoverflow 站点找到了解决方案。

我在使用外部 jar(在我的情况下为 openCSV)时遇到了类似的问题。我遇到问题的原因是由于 ADT 17(或更高版本)的变化。我需要做的是解决这个问题 在 Eclipse 中,转到 Properties -> Java build path -> Order and export。 标记我的罐子。 将 jar 移到列表顶部。 解决方法是在following page 中找到的,参考了一篇非常好的文章。

【讨论】:

  • 只有当我将 jar 移到列表顶部时它才有效。非常感谢@syp_dino!
【解决方案3】:

首先你应该:导入 XXX(Class).java, 如果您添加了外部库 jar 文件,请将它们导入 LIB 文件夹。 在那之后: 右键单击您的项目-> 属性-> Java 构建路径-> 订购和导出(选项卡)-> 选择全部-> 按确定-> 清理您的项目。

希望这能解决这个问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 2014-03-30
    • 2011-08-09
    • 2023-03-22
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多