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