• 締切済み

javaでopenglプログラムが実行できません

お世話になります。 javaでopenglのプログラムを実行すべくjava.netのJOGLプロジェクトのページから以下をダウンロードしました。 jogl-1.1.1a-windows-i586.zip jogl-demos.zip jogl-demos-src.zip 参考サイトの指示に従って、jogl.jarを含む全ての*.jarを[JDK_HOME]\jre\lib\extにコピーし、gluegen-rt.dll,jogl.dll,jogl_awt.dll,jogl_cg.dllを[JDK_HOME]\jre\binにコピーしてインストールしましたが 以下のようにデモプログラムを実行すると以下のエラーが出て実行できません。 どこが悪いのでしょうか?よろしくお願いします。 F:\java\opengl\jogl-demos>java -cp jogl-demos.jar demos.gears.Gears Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GLEventListener at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) 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) at java.lang.ClassLoader.loadClassInternal(Unknown Source) Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLEventListener 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) at java.lang.ClassLoader.loadClassInternal(Unknown Source) ... 12 more Could not find the main class: demos.gears.Gears. Program will exit. 参考サイト http://itpro.nikkeibp.co.jp/article/COLUMN/20060710/242865/?ST=develop

  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

noname#94983
noname#94983
回答No.1

NoClassDefFoundErrorというから、クラスが見つかっていないのだろう。 [JDK_HOME]\jre\lib\extにコピーしたと書いてあるが、javaコマンドで実行するときに使われているのは、JDK_HOME\jre内のjava.exeだろうか? 案外、[JRE]のjava.exeだったりしないだろうか。だとすると、JREのlib\ext内にjarがないとプログラムの実行はできないと思うが。 JREとJDKがインストールしてあると、javacとjavaがそれぞれJDKとJREというように別のところにあるものが使われていたりするので注意が必要。

kahata
質問者

お礼

ありがとうございました。ご指摘のとおりJREのlib\ext内にjarを入れて実行できるようになりました。 javacはjarのCLASSPATHを通してcompile可能です。 2つのjava.exeがあると面倒ですね。

関連するQ&A

  • JavaでBase64をエンコード・デコード(長めです)

    初めまして。今,Javaの勉強をしています。 Base64のエンコード・デコードを行うプログラムをコマンドプロンプトでコンパイルまでは成功するのですが,いざ実行してみると >java Base64 Exception in thread "main" java.lang.NoClassDefFoundError: Base64 (wrong name: d escriber/Base64) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) 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) at java.lang.ClassLoader.loadClassInternal(Unknown Source) というエラーがでます。 プログラムは下記のサイトを参考にさせていただきました。 http://www.ki.rim.or.jp/~kuro/Java/Etc/Etc-03-SunMisc.html クラス名とファイル名は同じはずなのですが…。 実行方法が悪いのかどうなのかわかりませんが,よろしければ指摘お願いします 。 わかりにくい文章ですみません。。

    • ベストアンサー
    • Java
  • java.lang.NoClassDefFoundError。。。

    どうぞ知恵をお貸しください。 ・jdk-1.5.0.16 ・mysql-4.0.26-win32 ・mysql-connector-java-3.1.14 ・eclipse 3.2.0 をダウンロード、インストールしてjavaの勉強を行っています。 コマンドプロンプトよりコンパイルを成功した場合は実行時に下記のエラーが、 Exception in thread "main" java.lang.NoClassDefFoundError コンパイルに失敗した場合は「読み込めません」のエラーが出力されます。 環境変数でCLASSPATHも設定してありますが、あえて実行時にclasspathを指定しても試みてみましたがエラーは変わりません。 何が原因なのでしょうか? どうぞご指導をよろしくお願いします。 エラー全文 Exception in thread "main" java.lang.NoClassDefFoundError: sample (wrong name: mypackage/sample) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) 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) at java.lang.ClassLoader.loadClassInternal(Unknown Source)

  • cygwinでjavaを実行するとエラー

    cygwinでjavaを実行するとエラーになるのですが、 解決策を教えていただけないでしょうか。 こんな所で数時間も考えてしまっており、作業が滞っています。 どなたか教えていただけないでしょうか。よろしくお願い致します。 cygwin上でenvを実行した時の結果です。(一部抜粋) JAVA_HOME=/cygdrive/c/Program Files/Java/jdk1.6.0_31 CLASSPATHも設定していたのですが、HelloWorld位だったら必要ないかと思い、unsetしました。 cygwinでプロジェクト直下に移動して、 コマンド「java HelloWorld」を実行すると以下のエラーとなる。 ============================================================================= $ java HelloWorld java.lang.NoClassDefFoundError: HelloWorld at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) 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: HelloWorld. Program will exit. Exception in thread "main" ============================================================================= 因みに、ソースは以下です。 [HelloWorld.java] package co.jp.test; public class HelloWorld { public static void main(String args[]){ System.out.println("HelloWorld"); } } また、ソースをパッケージから取り出して(パッケージを削除)、 プロジェクト直下にコピーして実行するとうまくいきます。 明らかに、パッケージにあるファイルをjavaコマンドで実行する時の固有のエラーかと思うのですが、 パッケージに含まれるファイルをcygwinで実行する時に気をつけることはありますでしょうか? 因みに、ソースは以下です。 [HelloWorld.java] public class HelloWorld { public static void main(String args[]){ System.out.println("HelloWorld"); } }

    • ベストアンサー
    • Java
  • Javaプログラム実行時のエラー

    最近Javaを独学で始めた初心者です。 コマンドプロンプトにてファイル名”SampleD1L3"を 実行しようとすると下記のようなエラーになってしまいます。 C:\Users\>java SampleD1L3 Exception in thread "main" java.lang.NoClassDefFoundError: SampleD1L3 Caused by: java.lang.ClassNotFoundException: SampleD1L3 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) at java.lang.ClassLoader.loadClassInternal(Unknown Source) Could not find the main class: SampleD1L3. Program will exit. 本に載っていた対処法として、 "java -classpath . SampleD1L3"を再度入力しても 上記のようなエラーになってしまいます。 なにぶん初心者なもので解決方法が全く分かりません(>_<) どなたか解決方法お教えて下さいませ。 宜しくお願いします。

    • ベストアンサー
    • Java
  • java実行時のメッセージについて

    50歳にてjavaを勉強しようとしているものです。 javaの本より例題を作成してみたのですが、うまくいきません。 javaをインストールしてjavacが正常でいざ実行した際、以下のメッセージが表示されました。何の意味かさっぱりわかりません。このサイトで質問するレベルではないかと思いますが、アドバイスいただければ幸いです。 作成したプログラムは class hello { public static void main(String[] args) { System.out.println("こんにちは"); } } javac ではエラー表示なし → C:\javabook\part1>javac Hello.java C:\javabook\part1> これを実行すると、 C:\javabook\part1>java Hello Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: he llo) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14 1) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) Could not find the main class: Hello. Program will exit. と表示されます。 何がエラーとなっているのでしょうか?

    • ベストアンサー
    • Java
  • 環境変数を設定すると・・・???

    C:\Users\hop77>cd\JAVA C:\JAVA>javac Main.java C:\JAVA>java Main Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: Main has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) 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) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 英語は得意だったのですけれど、もう忘れました。 どうすればいいでしょうか?

    • ベストアンサー
    • Java
  • batファイルの起動について

    eclipseで作成したクラスファイルがbatで起動しません。 echo on C: cd \Documents and Settings\AAA\デスクトップ\bin\jp\co\pass java -cp Readpass pause で、作成しました。 カレントディレクトリもあっています。 起動時に、クラスパスを指定しています。 ファイル名も間違っていません。 eclipse上では起動します。 しかし、 C:\Documents and Settings\AAA\デスクトップ\bin\jp\co\pass>java Readpass Exception in thread "main" java.lang.NoClassDefFoundError: Readpass (wrong name: jp/co/pass/Readpass) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) 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: Readpass. Program will exit. と、出て起動しません。 解決方法を教えてください。

  • javaアプリケーションでのエラー対処方法

    javaアプリケーションで次のようなエラーが出ます。 どのように対処すればよろしいでしょうか? 入れなければならないソフト等もあればご教示ください。 よろしくお願いいたします。 Exception in thread "main" java.lang.NoClassDefFoundError: edu/emory/mathcs/backport/java/util/concurrent/locks/Lock at UpdateFileCreator.main(Unknown Source) Caused by: java.lang.ClassNotFoundException: edu.emory.mathcs.backport.java.util.concurrent.locks.Lock at java.net.URLClassLoader$1.run(Unknown Source) 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) ... 1 more

  • javaでscalaのクラスを使う

     Scala初心者です^^  Scalaで作ったクラスをJavaで使おうとしています.  しかしなかなかうまくいかなくて…  ソースを下に書いておきます. [ap/hello.scala] class hello(str2: String){ val str = str2 def say(){ println(str) } } [ap/start.java] public class start{ public static void main(String[] args){ hello h = new hello("Hello!"); h.say(); } }  helloクラスのコンストラクタを用いて指定した文字列を helloクラスのsayメソッドで標準出力するだけの簡単なクラスなのですが, うまく実行できず… Exception in thread "main" java.lang.NoClassDefFoundError: ap/start/class Caused by: java.lang.ClassNotFoundException: ap.start.class at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) Kazus-MackBookPro:ScalaLearning macuser$ java ap/start Exception in thread "main" java.lang.NoClassDefFoundError: ap/start (wrong name: start) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) というエラーが出てしまいます.    どこが悪いかわかる方いらっしゃいませんか?  それとも,JavaではScalaで作った.classファイルは使うことができないのでしょうか?  Scalaはまだ覚えて2週間なので,まだ完全に理解できていません><    よろしくお願いします

  • Hello Worldが実行できない

    JAVAを初めて勉強しようとしています。 テキストにしたがって、java_ee_sdk-5_06-windows-ml.exeをインストールし、最初のHello Worldを実行しようとしていますが、エラーが出て進めません。 下のようなエラーが出ます。 C:\>java>javac Test.java Exception in thread "main" java.lang.NoClassDefFoundError: Test Caused by: java.lang.ClassNotFoundException: Test.java at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native M at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown S at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Sour Could not find the main class: Test.java. Program will exit. 根本的に何かが欠けていると思われるのですが、どのような原因が考えられるでしょうか?

専門家に質問してみよう