raz*_*eLe 4 linux ubuntu-14.04
我用java编译了java代码
razrlele@OVO:~/workspace/javastudy/src$ javac Helloworld.java
Run Code Online (Sandbox Code Playgroud)
事实证明没有错误或警告
然后我运行程序
razrlele@OVO:~/workspace/javastudy/src$ java Helloworld
Run Code Online (Sandbox Code Playgroud)
它返回这个
Error: Could not find or load main class Helloworld
Run Code Online (Sandbox Code Playgroud)
我必须像这样输入
razrlele@OVO:~/workspace/javastudy/src$ java -cp ./ Helloworld
Run Code Online (Sandbox Code Playgroud)
这样程序就会正确运行.
我很困惑为什么"java"命令不起作用.
这是我的/ etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk1.8.0_11"
CLASSPATH=/usr/lib/jvm/jdk1.8.0_11
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_11
Run Code Online (Sandbox Code Playgroud)
Java将尝试使用您的类路径来查找类文件.由于您的类路径设置为/usr/lib/jvm/jdk1.8.0_11,它就是它的外观.
通过覆盖类路径-cp ./,您可以告诉它在当前目录中查找其类文件.
有许多方法可以解决此问题,包括.根据需要将类路径环境变量更改为包含或其他本地化路径.我倾向于只设置一个别名(在我.bashrc的例子中),所以常规的Java程序不会受到影响,比如(来自内存):
alias jhere="java -cp $CLASSPATH:."
Run Code Online (Sandbox Code Playgroud)
然后我可以使用:
jhere HelloWorld
Run Code Online (Sandbox Code Playgroud)
测试我的片段.
| 归档时间: |
|
| 查看次数: |
1142 次 |
| 最近记录: |