2011-03-01 17 views
1

jdom-1.1.jarライブラリファイルを使用してJavaコードからkmlファイルを作成したいとします。それは私のプログラムに何のコンパイル時にエラーを与えていないが、実行時エラーを示す:jdomライブラリの実行時例外を解決するには?

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. 

どのように私は、このようなエラーを解決することができます..あなたがあなたのクラスパスにJDOM-1.1.jarを追加する必要が

答えて

1

ようにする必要があります。あなたには、いくつかのフォルダ/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ファイルを言及しました - あなたはソースをコンパイルしましたか?

+0

私のJavaおよびクラスファイルのディレクトリ構造は、C:¥programfiles¥tomcat¥tomcat-5.5.9¥webapps¥jsp-examples¥KmlSample.javaで、jdomへのパスは "c:¥programfiles¥tomcat¥tomcat -5.5.9 \ common \ lib \ jdom-1.1.jar私はjavaコマンドで-cpオプションを試したが動作しておらず、同じエラーメッセージを出した。 – tamanna

+0

エラーメッセージ "NoClassDefFoundError:KmlSample"の代わりに"NoClassDefFoundError:org/jdom/Content" – tamanna

+0

私のために働いてくれてありがとう... – tamanna

1

、そのショーあなたがプログラムを実行しているか、あなたがdefinitilyにどこJDOMライブラリ(とあなたが必要とするその他のライブラリ)を見つけるためにJavaを伝える必要があり

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

私もhavオプションを試しましたが、うまくいかず、同じエラーメッセージが表示されました。 – tamanna

+0

はあなたが試したコマンドラインを正確に示しています。 – MeBigFatGuy

+0

C:¥ProgramFiles¥Tomcat¥tomcat-5.5.9¥webapps¥jsp-examples> java -cp c:¥programfile ¥tomcat¥tomcat-5.5.9¥lib¥jdom-1.1.jar KmlSample スレッド内の例外"メイン" java.lang.NoClassDefFoundErrorが:にjava.lang.ClassNotFoundException:によって引き起こさKmlSample java.net.URLClassLoader $ 1.runでKmlSample (不明なソース)java.security.AccessController.doPrivileged(ネイティブメソッド)で で – tamanna

関連する問題