java.lang.ClassNotFoundException - PullRequest
       12

java.lang.ClassNotFoundException

3 голосов
/ 10 июня 2010

У меня есть проект Java, над которым я работаю, который работал несколько дней назад.Я не уверен, что я сделал со своей настройкой Eclipse, но теперь я получаю исключение java.lang.ClassNotFoundException при попытке запустить некоторый код, который обращается к API финансов Google.Я создал небольшое тестовое приложение, которое использует API Google Finance самостоятельно и, похоже, работает.Итак, я думаю, что это проблема конкретного проекта.Любая помощь будет принята с благодарностью.Вот трассировка стека:

ptolemy.kernel.util.IllegalActionException:   in .RandomSearch.manager
Because:
com/google/common/collect/Maps
 at ptolemy.actor.Manager.execute(Manager.java:472)
 at ptolemy.actor.Manager.run(Manager.java:1119)
 at ptolemy.actor.Manager$3.run(Manager.java:1160)
Caused by: java.lang.NoClassDefFoundError: com/google/common/collect/Maps
 at com.google.gdata.wireformats.AltRegistry.<init>(AltRegistry.java:118)
 at com.google.gdata.wireformats.AltRegistry.<init>(AltRegistry.java:100)
 at com.google.gdata.client.Service.<clinit>(Service.java:546)
 at AtomicBroadcast.GoogleFinance.GooglePortfolioReader.fire(GooglePortfolioReader.java:108)
 at ptolemy.domains.de.kernel.DEDirector.fire(DEDirector.java:568)
 at ptolemy.actor.CompositeActor.fire(CompositeActor.java:458)
 at ptolemy.actor.Manager.iterate(Manager.java:714)
 at ptolemy.actor.Manager.execute(Manager.java:349)
 ... 2 more
Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Maps
 at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:264)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)
 ... 10 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/collect/Maps
 at com.google.gdata.wireformats.AltRegistry.<init>(AltRegistry.java:118)
 at com.google.gdata.wireformats.AltRegistry.<init>(AltRegistry.java:100)
 at com.google.gdata.client.Service.<clinit>(Service.java:546)
 at AtomicBroadcast.GoogleFinance.GooglePortfolioReader.fire(GooglePortfolioReader.java:108)
 at ptolemy.domains.de.kernel.DEDirector.fire(DEDirector.java:568)
 at ptolemy.actor.CompositeActor.fire(CompositeActor.java:458)
 at ptolemy.actor.Manager.iterate(Manager.java:714)
 at ptolemy.actor.Manager.execute(Manager.java:349)
 at ptolemy.actor.Manager.run(Manager.java:1119)
 at ptolemy.actor.Manager$3.run(Manager.java:1160)
Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Maps
 at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:264)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)
 ... 10 more

Ответы [ 3 ]

4 голосов
/ 10 июня 2010

Кажется, что ваш путь к классу проекта отсутствует google-collect-1.0-rc1.jar

У вас, очевидно, есть его на жестком диске, просто отредактируйте путь к классу проекта и добавьте его туда (или убедитесь, что он добавлен Maven / например, еслиВы используете их).

1 голос
/ 23 декабря 2012

Я сталкиваюсь с подобной проблемой. Я не нашел google-collect-1.0-rc1.jar в gdata api. Но этот поток решил мою проблему:

  • Добавьте guava.xxx.jar в свой проект. Guava - полностью совместимый расширенный набор старой библиотеки Google Collections.
  • Вы можете найти guava-xxxx.jar в gdata-samples / java / deps / guava.xxxx.jar. Или загрузите его с здесь .

Google рекомендует использовать гуаву вместо google-collect-1.0.jar. см. Здесь

1 голос
/ 11 июня 2010

Вы должны знать о разнице между двумя похожими сообщениями об ошибках. Я предлагаю вам прочитать фантастическую статью «Разница между ClassNotFoundException и NoClassDefFoundError» из Sanjiv Jivan. http://www.jroller.com/sjivan/entry/difference_between_classnotfoundexception_and_noclassdeffounderror

...