タイトル通りなのですが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)

A 回答 (3件)

実行するときにコマンドラインでどのように入力していますか?


エラーを見ると Example1/java というクラスがないと出ていますが、
もしや java Example1.java と入力してませんか? もしそうだと
するとエラーになって当然です。java Example1 とやって実行する
必要があります。
    • good
    • 0

クラスパスの設定をなくすとどうなりますか?



unset CLASSPATH ; java Example1

多分実行できると思います。

その理由は java.exe コマンドの解釈する CLASSPATH の区切り文字は
セミコロンで区切られたウィンドウズのパスでなければならないからです。
なので .bashrc や .bash_profile の中などで CLASSPATH を設定する
個所は

export CLASSPATH='c:\jsdk\lib\jsdk.jar;c:\jdk\lib\tools.jar; ...'

といった感じになってないと駄目だと思います。
    • good
    • 0

手元に実行環境がないのであまり自身はないのですが、


".bashrc"というファイルを作成し、その中でJAVA_HOMEという環境変数にSDKのパスを設定してやればいいのではないでしょうか?

この回答への補足

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

よろしくお願いします。

補足日時:2001/01/09 16:40
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ