Guava: java.lang.NoClassDefFoundError - com.google.common.collect.HashBiMap
android, bimap, guava, hashmap
Solution
This error means that the class was available at compile time, but cannot be found during run time. It most commonly happens when your compile time classpath is different from your runtime classpath.
It is very likely that your runtime classpath doesn't contain the guava jar. To verify this, try printing your classpath in your code.
on the command line, you can use: java -cp "path/to/guava.jar" MyMainClass
or alternatively, set the CLASSPATH environment variable to include the jar.
Problem
I currently face the problem of java.lang.NoClassDefFoundError: com.google.common.collect.HashBiMap when using guava libraries downloaded from here: http://code.google.com/p/guava-libraries/ I already add guava-12.0.jar into my project as a reference library but I still get the error. May you give some advice on what the problem would be? Thankyou for your help ``` 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"); } } ``` Error Message I get ``` 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) ```