• 締切済み

cygwinでjavaが動かない

タイトル通りなのですがcygwin1.1上でjavaを動かそうとすると Exception in thread "main" java.lang.NoClassDefFoundError: Example1/java というエラーメッセージが出ます。 しかし、dosプロンプト上でならちゃんと動いたので プログラムのミスという訳でもないと思います。 以下がソースです。 class Example1 { public static void main(String args[]) { System.out.println("This is the output from Example1"); } } クラスパスは以下のような設定です。 /jsdk/lib/jsdk.jar:/jdk/lib/tools.jar:/tomcat/lib/jasper.jar:/tomcat/lib/servlet.jar:/tomcat/lib/webserver.jar:/tomcat/lib/xml.jar:./ 気になることが1つ。コンパイルだけはcygwin上でできるのです。 そしてcygwin上でコンパイルした.classファイルは dosプロンプトで無事に実行できました。 まとめるとcygwinという環境でコンパイルだけできて実行ができない しかしDOSプロンプトだとコンパイルも実行もできる、です。 目的はcygwin上でjavaを実行できるようにしたい、です。 環境は Windows98SE J2SDK1.3 J2EE1.2.1 Tomcat3.1.1 Cygwin1.1 bash 2.04.0(8)

みんなの回答

  • inetd
  • ベストアンサー率23% (43/184)
回答No.3

実行するときにコマンドラインでどのように入力していますか? エラーを見ると Example1/java というクラスがないと出ていますが、 もしや java Example1.java と入力してませんか? もしそうだと するとエラーになって当然です。java Example1 とやって実行する 必要があります。

  • inetd
  • ベストアンサー率23% (43/184)
回答No.2

クラスパスの設定をなくすとどうなりますか? unset CLASSPATH ; java Example1 多分実行できると思います。 その理由は java.exe コマンドの解釈する CLASSPATH の区切り文字は セミコロンで区切られたウィンドウズのパスでなければならないからです。 なので .bashrc や .bash_profile の中などで CLASSPATH を設定する 個所は export CLASSPATH='c:\jsdk\lib\jsdk.jar;c:\jdk\lib\tools.jar; ...' といった感じになってないと駄目だと思います。

  • AKIIRA
  • ベストアンサー率38% (15/39)
回答No.1

手元に実行環境がないのであまり自身はないのですが、 ".bashrc"というファイルを作成し、その中でJAVA_HOMEという環境変数にSDKのパスを設定してやればいいのではないでしょうか?

manvi
質問者

補足

SDKのパスというのはSDKのホームディレクトリですで大丈夫ですか? JAVA_HOMEも設定してありますがそれでもできません。 よろしくお願いします。

関連するQ&A