0

私のプログラムはpackage pl.edu.uj.tcs.crazySocket;いくつかの要件のためにあります。私はcrazySocketディレクトリで働いています。プログラムをコンパイルするには、コマンドを使用します

CLASSPATH=~/prog/colosseum/data javac tictactoe.java

そしてそれは成功します。プログラムを実行したい。javacをjavaに変更し、「。java」を削除します。私は得る

Exception in thread "main" java.lang.NoClassDefFoundError: tictactoe
Caused by: java.lang.ClassNotFoundException: tictactoe
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

ツリーディレクトリで〜/ prog / colosseum / dataにアクセスして実行すると、java pl/edu/uj/tcs/crazySocket/tictactoeすべて正常に機能します。

CLASSPATHの何が問題になっていますか?javacとjavaの両方で動作するべきではありませんか?

4

1 に答える 1

1

クラスパスに問題はありません。それはあなたの呼び出しがjava間違っているということです。

完全修飾クラス名を指定する必要がありますpl.edu.uj.tcs.crazySocket.tictactoe

于 2012-05-25T09:48:45.900 に答える