ClassNotFoundException после экспорта из рабочего приложения в Eclipse - PullRequest
1 голос
/ 24 марта 2011

Таким образом, я получаю это сообщение после того, как экспортировал свой проект в работающую флягу. Я совершенно не понимаю, почему это так, потому что приложение запускается идеально , когда я выбираю «Выполнить» в Eclipse. Я пробовал как извлекать, так и упаковывать надежные библиотеки, но без сигары.

Кто-нибудь знает, что делать?

    Exception in thread "main" java.lang.NoClassDefFoundError: com/mysql/jdbc/jdbc2/optional/MysqlDataSource
    at jp.kddi.geonames.GeoNames.getConnectionWithDataSource(GeoNames.java:55)
    at jp.kddi.geonames.GeoNames.setFromGN(GeoNames.java:155)
    at jp.kddi.twittercrawler.Attributes.setCoordinatesGeonames(Attributes.java:297)
    at jp.kddi.twittercrawler.Attributes.setCoordinatesJSON(Attributes.java:280)
    at jp.kddi.twittercrawler.Attributes.SetAll(Attributes.java:42)
    at jp.kddi.twittercrawler.TweetList.makeList(TweetList.java:25)
    at jp.kddi.twittercrawler.TweetCloud.main(TweetCloud.java:45)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.jdbc2.optional.MysqlDataSource
    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:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    ... 7 more

Ответы [ 6 ]

4 голосов
/ 24 марта 2011

Похоже, ваши драйверы MySql не были экспортированы. Чтобы решить эту проблему, перейдите к Project Properties (щелкните правой кнопкой мыши Project) и выберите Properties, затем выберите Java Build Path, а затем Order and Export. Убедитесь, что библиотека MySql экспортирована.

0 голосов
/ 14 мая 2014

Поместите файл jar под /tomcat_dir/lib, у меня это сработало.

0 голосов
/ 16 ноября 2013

Используйте Экспорт -> Java -> Работающий файл JAR вместо Экспорт -> Java -> Файл JAR в вашем проекте (щелчок правой кнопкой мыши).

0 голосов
/ 24 марта 2011

Являются ли необходимые банки MySql в вашей работающей банке?

Поскольку он компилируется и запускается в Eclipse, путь сборки, вероятно, в порядке ..

Я думаю, что вам также нужно указать эти jar-файлы с помощью параметров предпочтения Eclipse deployAssembly. Один из способов проверить это - экспортировать в файл войны и проверить, есть ли в нем необходимые банки, с помощью

0 голосов
/ 24 марта 2011

Ну, у вас есть java.lang.ClassNotFoundException. Это означает, что класс отсутствует во время выполнения приложения. Вы должны проверить, добавили ли вы все свои библиотеки в путь сборки.

Для проверки просто щелкните правой кнопкой мыши на Project -> Properties -> Java build path -> Libraries, добавьте библиотеки или создайте библиотеку, содержащую ваши классы, и включите экспорт заказов для своих библиотек.

Ошибка отображается, поскольку она ожидает источник данных mysql. Вы, возможно, не предоставили один. Проверьте с путями mysql file/jar.

0 голосов
/ 24 марта 2011

Пожалуйста, добавьте mysql jar в classpath проекта вашего рабочего пространства.Ниже необходимы банки, пожалуйста, используйте соответствующие банки.

class com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource
mysql-connector-java-3.1.12-bin.jar
mysql-connector-java-3.1.12.jar
mysql-connector-java-5.0.7.jar
mysql-connector-java-3.1.14.jar
mysql-connector-java-5.1.5.jar
mysql-connector-java-5.0.4.jar
mysql-connector-java-5.0.5.jar
mysql-connector-java-5.1.4.jar
mysql-connector-java-5.1.3.jar
mysql-connector-java-3.1.11.jar
mysql-connector-java-3.1.13.jar
mysql-connector-java-5.1.1.jar
mysql-connector-java-5.0.2.jar
mysql-connector-java-5.0.8.jar
mysql-connector-java-5.0.3.jar
mysql-connector-java-5.1.2.jar
wildcat-core-2.0.1-embedded.jar
class com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource [1216 bytes, jvm >= 1.2 ] 

mysql-connector-java-3.0.16-ga-bin.jar
class com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource [1317 bytes, jvm >= 1.2 ] 

mysql-connector-java-5.1.6.jar
class com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource [1216 bytes, jvm >= 1.2 ] 

mysql-connector-java-3.0.10-stable-bin.jar
mysql-connector-java-3.0.10.jar
mysql-connector-java-3.0.8-stable-bin.jar
mysql-connector-java-3.0.8.jar

class com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource [735 bytes, jvm >= 1.1 ] 

mysql-connector-java-2.0.14-bin.jar
mysql-connector-java-2.0.14.jar
...