繁体   English   中英

Java可以在“绝对”路径下正常运行,而不在指定CLASSPATH下运行

[英]java runs fine with 'absolute' path, doesn't run with CLASSPATH specified

我的程序在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一起使用吗?

您的类路径没有错,是您对java的调用错了。

需要指定完整的合格类名称pl.edu.uj.tcs.crazySocket.tictactoe

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM