Я хотел бы использовать внешнюю библиотеку (например, Google Guava) для моей программы на Java.Я использую Eclipse, поэтому я скачал jav-файл Guava (и исходный код) и следовал Добавление библиотеки Java в classpath проекта , чтобы добавить ее в Eclipse и в buildpath моего проекта.
Это работаетхорошо: я могу запустить программу из Eclipse и из запускаемого jar, который я экспортирую из Eclipse, но я получаю сообщение об ошибке при попытке запуска непосредственно из bin/ dir, как я делал раньше:
bin/
Исключение в ветке "main" java.lang.NoClassDefFoundError: com / google / common / base / Joiner
Что мне делать?
Вы должны указать Java, где найти библиотеку:
java -cp <path-to-lib-jar>;myJar.jar my.package.MyMainClass
или, если вы хотите использовать jar-файл, вы можете указать путь к библиотеке в MANIFEST проверьте здесь для объяснения.
Если вы запускаете файл класса непосредственно из каталога bin проекта, возможно, вам придется указать путь к классу вручную: C:> java -classpath C:\java\MyClasses;C:\java\OtherClasses MyClassHere
C:> java -classpath C:\java\MyClasses;C:\java\OtherClasses MyClassHere
Вы пробовали java -cp guava.jar ...?
java -cp guava.jar ...
Чтобы запустить программу на консоли как можно точнее, когда вы запускаете ее из Eclipse, вам нужно запустить ее из корневого каталога проекта (не из bin) и не забудьте упомянуть classpath (* 1001) *http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/tooldocs/windows/classpath.html)
Так, например, по корню вы запустите:
java -classpath lib / guava.jar; bin packageName.className