【问题标题】:java.lang.NoClassDefFoundError when running libgdx sample gdx-invaders for desktop为桌面运行 libgdx 示例 gdx-invaders 时出现 java.lang.NoClassDefFoundError
【发布时间】:2013-09-25 09:02:13
【问题描述】:

我正在构建 libgdx 的 gdx-invaders 示例。有两个项目: gdx-invaders - 基础项目,作为桌面 Java 应用程序运行 gdx-invaders-android 项目 - 依赖于 gdx-invaders,并作为 Android 应用程序运行

我是 Eclipse 新手,但根据我能找到的最佳教程,我采取了适当的步骤来让这两个项目引用适当的库(gdx.jar 等),并让它们使用 Android 2.2。我还尝试了一些基本修复,例如在构建之前进行清理和重新启动 Eclipse。

现在,gdx-invaders 构建,但是当它运行时,我得到了这个运行时异常:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gwt/core/client/GWT
    at com.badlogic.gwtref.client.ReflectionCache.<clinit>(ReflectionCache.java:24)
    at com.badlogic.gdx.utils.reflect.ArrayReflection.newInstance(ArrayReflection.java:11)
    at com.badlogic.gdx.utils.Array.<init>(Array.java:64)
    at com.badlogic.gdx.backends.openal.OpenALAudio.<init>(OpenALAudio.java:51)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.<init>(LwjglApplication.java:82)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.<init>(LwjglApplication.java:64)
    at com.badlogic.gdxinvaders.GdxInvadersDesktop.main(GdxInvadersDesktop.java:27)

并且 gdx-invaders-android 根本不构建 - 它无法引用包 com.badlogic.gdxinvaders(在 gdx-invaders 中定义的包),这会导致在尝试引用 GdxInvaders 时出现编译器错误,a该包中定义的类。

构建库来自 libgdx-nightly-latest 发行版。你们是否有偏好是否最好将 JAR 从这里复制到我的基础项目的 lib 目录中,并在此处使用 Add Jars 引用 JAR,或者是否最好使用 Add External JARS 并在 libgdx-nightly-latest 中引用它们目录?

谢谢!! 亚伦

【问题讨论】:

标签: android gwt libgdx noclassdeffounderror


【解决方案1】:

您必须将 gdx 项目添加到您的项目选项卡中,该选项卡位于 java 构建路径中。您必须将 jpct_ae.jar 和 jpct_shaders.zip 包含到您的项目构建路径中。

【讨论】:

  • 他使用的是 libgdx,而不是 jpct。但是是的,错误是核心项目没有链接。
猜你喜欢
  • 2015-09-03
  • 2023-01-08
  • 2014-09-15
  • 1970-01-01
  • 2012-06-27
  • 1970-01-01
  • 1970-01-01
  • 2019-02-21
  • 1970-01-01
相关资源
最近更新 更多