Как решить исключение времени выполнения библиотеки JDOM? - PullRequest
1 голос
/ 01 марта 2011

Я хочу сделать файл kml из кода Java, используя файл библиотеки jdom-1.1.jar. Это не дает ошибку времени компиляции моей программе, но показывает ошибку времени выполнения:

C:\ProgramFiles\Tomcat\tomcat-5.5.9\webapps\jsp-examples>java KmlSample
Exception in thread "main" java.lang.NoClassDefFoundError: org/jdom/Content
Caused by: java.lang.ClassNotFoundException: org.jdom.Content
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: KmlSample.  Program will exit.

как я могу разрешить такую ​​ошибку ..

Ответы [ 2 ]

1 голос
/ 01 марта 2011

Вы определенно должны указать Java, где найти библиотеку jdom (и другие библиотеки, которые могут вам понадобиться). Предполагая, что у вас есть библиотека в какой-то папке /dev/lib, правильная команда будет выглядеть так:

java -cp .;/dev/lib/jdom-1.1.jar KmlSample

Эта команда также предполагает, что файл KmlSample.class находится в текущем местоположении и , что класс KmlSample определен в пространстве имен по умолчанию (KmlSample.java не имеет оператора package) и KmlClass имеет правильный main метод (точка входа).


Редактировать

$> cd C:\programfiles\tomcat\tomcat-5.5.9\webapps\jsp-examples
$> java -cp .;../../common/lib/jdom-1.1.jar KmlSample

Это должно работать (или, по крайней мере, должно выдавать другое сообщение об ошибке)


Убедитесь, что текущий каталог (из которого вы выполняете java в приведенном выше примере) содержит файл KmlSample.class (посмотрите в верхнем разделе моего ответа). Вы упомянули файл KmlSample.java в этом месте - вы скомпилировали исходный код?

1 голос
/ 01 марта 2011

вам нужно добавить jdom-1.1.jar в ваш classpath, поэтому покажите, как вы запускаете вашу программу, должно быть похоже на

java -classpath /path/to/jdom-1.1.jar;. YourMainClassFile
...