Guava: java.lang.NoClassDefFoundError – com.google.common.collect.HashBiMap

В настоящее время я сталкиваюсь с проблемой java.lang.NoClassDefFoundError: com.google.common.collect.HashBiMap при использовании библиотек guava, загруженных здесь: http://code.google.com/p/guava-libraries/

Я уже добавляю guava-12.0.jar в свой проект в качестве справочной библиотеки, но до сих пор получаю ошибку. Можете ли вы дать несколько советов о том, что проблема будет? Спасибо за помощь

package my.project; import android.app.Activity; import android.os.Bundle; import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; public class MainActivity extends Activity{ private BiMap<String,String> bidiMap; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bible_help_cal); bidiMap = HashBiMap.create(); bidiMap.put("a","100"); bidiMap.put("b","200"); } } 

Сообщение об ошибке, которое я получаю

 05-29 18:35:19.737: E/AndroidRuntime(376): FATAL EXCEPTION: main 05-29 18:35:19.737: E/AndroidRuntime(376): java.lang.NoClassDefFoundError: com.google.common.collect.HashBiMap 05-29 18:35:19.737: E/AndroidRuntime(376): at my.project.MainActivity.onCreate(MainActivity.java:18) 05-29 18:35:19.737: E/AndroidRuntime(376): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 05-29 18:35:19.737: E/AndroidRuntime(376): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1712) 05-29 18:35:19.737: E/AndroidRuntime(376): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1764) 05-29 18:35:19.737: E/AndroidRuntime(376): at android.app.ActivityThread.access$1500(ActivityThread.java:122) 05-29 18:35:19.737: E/AndroidRuntime(376): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1002) 05-29 18:35:19.737: E/AndroidRuntime(376): at android.os.Handler.dispatchMessage(Handler.java:99) 05-29 18:35:19.737: E/AndroidRuntime(376): at android.os.Looper.loop(Looper.java:132) 05-29 18:35:19.737: E/AndroidRuntime(376): at android.app.ActivityThread.main(ActivityThread.java:4025) 05-29 18:35:19.737: E/AndroidRuntime(376): at java.lang.reflect.Method.invokeNative(Native Method) 05-29 18:35:19.737: E/AndroidRuntime(376): at java.lang.reflect.Method.invoke(Method.java:491) 05-29 18:35:19.737: E/AndroidRuntime(376): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 05-29 18:35:19.737: E/AndroidRuntime(376): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 05-29 18:35:19.737: E/AndroidRuntime(376): at dalvik.system.NativeStart.main(Native Method) 

Эта ошибка означает, что класс был доступен во время компиляции, но не может быть найден во время выполнения. Это чаще всего происходит, когда ваш путь времени компиляции отличается от вашего пути к среде выполнения.

Весьма вероятно, что ваш путь к классу runtime не содержит банку guava. Чтобы убедиться в этом, попробуйте распечатать свой путь к классу в своем коде.

В командной строке вы можете использовать: java -cp "путь / to / guava.jar" MyMainClass

Или, альтернативно, установите переменную среды CLASSPATH, чтобы включить банку.

В моем случае у меня в библиотеке были и guava, и google-collection. Библиотека google-collection противоречила библиотеке guava. Если у вас есть как guava, так и google-collection, попробуйте удалить сборку google для восстановления.

Просто скачайте Guava library здесь Guava

Очистить и построить. Работает на меня. Надеюсь, поможет. ура

В моем случае я попытался добавить guava-17.0.jar с опцией Add External JARs... и это была проблема . Когда я переместил guava-17.0.jar в папку моих проектов (в файле Libs), у меня не было проблем.

Конечно, я удалил внешний JAR и добавил его снова, используя параметр Add JARs...

Intereting Posts
Ожидается BEGIN_OBJECT, но BEGIN_ARRAY в строке 1 столбца 2 (малое редактирование) Как я должен делать это с уведомлением до начала деятельности без новых намерений Предупреждение: JDK не указан для модуля «Myproject». При запуске моего проекта в студии Android Android notifyDataSetChanged для ExpandableListView не работает Перестроить, синхронизировать Gradle и Clean для всего одного модуля с Android Studio IllegalArgumentException при запуске HttpClient в Android Запустить php-скрипт через Android-приложение Сравнение телефонных номеров в Android В чем смысл времени процессора Incl, excl CPU Time, Incl Real CPU Time, Excl Real CPU Time в traceview? Проблема с покупкой InApp для Android (-1002: получен неправильный ответ) OnTouchListener не работает с относительной компоновкой Захват изображения с передней камеры и сохранение его на SD-карте без предварительного просмотра Почему нам нужно больше одного манифеста для проекта Android? Android двухсторонняя привязка с типом Integer приводит к тому, что привязка данных не существует Как сохранить слушателя в пользовательском диалоге, открытом из фрагмента?