由于某些要求,我的程序位于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吗?
答案 0 :(得分:1)
你的课程路径没有任何问题,你拨打java
是错误的。
您需要指定完整的限定类名pl.edu.uj.tcs.crazySocket.tictactoe
。