1
Я пытаюсь добавить lib из esotericsoftware «Kryo» в проект libGDX на рабочем столе и Android-модуле. Я использую Intellij.Intellij/libGDX добавление lib kryo NoClassDefFoundError
Что я пробовал:
- Добавление папки Kryo-3.0 для внешних библиотек
- Добавление зависимостей в build.gradle ко всем модулям
compile "com.esotericsoftware:kryo:3.0.3"
- Запускаем Gradle
- синхронизации проекта ,
То, что я получил после компиляции модуля Desktop:
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NoClassDefFoundError: org/objenesis/strategy/InstantiatorStrategy
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:131)
Caused by: java.lang.NoClassDefFoundError: org/objenesis/strategy/InstantiatorStrategy
at com.projectbeta.deepdarkness.screens.MenuScreen.show(MenuScreen.java:18)
at com.badlogic.gdx.Game.setScreen(Game.java:61)
at com.projectbeta.deepdarkness.DeepDarkness.create(DeepDarkness.java:16)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:147)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)
Caused by: java.lang.ClassNotFoundException: org.objenesis.strategy.InstantiatorStrategy
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 5 more
В этом не проблема. Я не использую maven. В README от kryo есть информация, если ваш проект не использует maven add 2 libs (minLog и Objenesis). Также модуль android не должен компилировать эти библиотеки. Я только получил работу на андроиде, не компилируя библиотеки. –
Но это не maven, а град. И ваше исключение в основном говорит о том, что одна из библиотек не разрешена во время выполнения приложения. Поскольку ваш проект libgdx использует gradle, я не вижу причин добавлять kryo libs вручную – Enigo