1

我想使用jdom-1.1.jar库文件从 java 代码制作一个 kml 文件。它没有给我的程序带来编译时错误,但显示运行时错误:

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.

我该如何解决这样的错误..

4

2 回答 2

1

你需要在你的类路径中添加 jdom-1.1.jar,所以显示你是如何运行你的程序的,应该像

java -classpath /path/to/jdom-1.1.jar;. YourMainClassFile
于 2011-03-01T07:26:27.907 回答
1

您必须告诉 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文件-您是否编译了源代码?

于 2011-03-01T07:36:44.900 回答