Gdx支付桌面没有类定义错误

时间:2016-03-19 14:23:55

标签: java import libgdx desktop

我正在使用libgdx支付Android和iOS,直到最近才能在桌面模式下测试我的应用程序。

自升级到IntelliJ 2016.1以来,我现在只在尝试运行桌面应用程序时收到以下错误; iOS和Android都继续编译并成功运行。

错误:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NoClassDefFoundError: com/badlogic/gdx/pay/PurchaseObserver

桌面和核心模块的build.gradle文件如下所示;

allprojects {
  apply plugin: "eclipse"
  apply plugin: "idea"

  version = '1.0'
  ext {
      appName = '####'
      gdxVersion = '1.9.2'
      roboVMVersion = '1.8.0'
      box2DLightsVersion = '1.4'
      ashleyVersion = '1.4.0'
      aiVersion = '1.5.0'
      gdxpayVersion = '0.6.0'
  }

  repositories {
      mavenCentral()
      maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
      maven { url "https://oss.sonatype.org/content/repositories/releases/" }
  }
}

project(":core") {
  apply plugin: "java"


  dependencies {
      compile "com.badlogicgames.gdx:gdx:$gdxVersion"
      compile "de.tomgrill.gdxtwitter:gdx-twitter-core:0.1.0-SNAPSHOT"

      compile "com.badlogicgames.gdxpay:gdx-pay:$gdxpayVersion"
      compile "com.badlogicgames.gdxpay:gdx-pay-client:$gdxpayVersion"
  }
}

project(":desktop") {
  apply plugin: "java"


  dependencies {
    compile project(":core")

    compile "de.tomgrill.gdxtwitter:gdx-twitter-desktop:0.1.0-SNAPSHOT"

    compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
    compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
  }
}

此外,在IntelliJ中,它只能报告导入PurchaseObserver时出错,只有在我尝试运行应用程序时才会出现错误。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是IntelliJ本身的一个已知错误,在此汇总http://www.badlogicgames.com/forum/viewtopic.php?f=11&t=21148&hilit=intellij

可以在此处找到IntelliJ问题 https://youtrack.jetbrains.com/issue/IDEA-147788

只有在Android运行配置时才会出现此错误。

在修复之前,解决方法是通过命令行使用gradle,如下所示;

gradle ProjectName:desktop run

这也可以作为IntelliJ中的运行配置实现。