0
我的程序在package pl.edu.uj.tcs.crazySocket;
由于一些要求。我在crazySocket目录中工作。为了编译程序我使用命令java运行良好,'绝对'路径,不运行CLASSPATH指定
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 /斗兽场/数据获取和运行java pl/edu/uj/tcs/crazySocket/tictactoe
一切工作正常。
CLASSPATH有什么问题?它不应该与javac和java一起工作吗?
你是说我必须从基本目录运行程序?我无法单独在crazySocket目录中工作? –
不,你可以从任何你想要的地方工作。但是,您的_always_(无论您身在何处)需要将完整的合格类名称传递给'java'。 – Mat