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 回答