我想使用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.
我该如何解决这样的错误..
答案 0 :(得分:1)
你需要在你的类路径上添加jdom-1.1.jar,所以要说明你运行程序的方式,应该是
java -classpath /path/to/jdom-1.1.jar;. YourMainClassFile
答案 1 :(得分: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
文件 - 您编译了源代码吗?