Ubuntu 下 Error: Could not find or load main class xxx(2017/05/27)

今天我用linux的vi编辑器编辑一个非常简单的java程序,在编译的时候没什么问题,但在运行的时候却报错了,今天就详细来分享一下如何解决:
我编辑的hello1.java程序如下:

public class hello1{
public static void main(String args[]){
  System.out.println("hello world");
}
}

编译和运行的linux指令如下:

root@ubuntu:~# vi hello1.java  #启动vi编辑器,当编辑结束之后会返回终端
root@ubuntu:~# javac hello1.java  #编译hello1.java程序
root@ubuntu:~# java hello.java    #这个是输错了的指令,跳过
Error: Could not find or load main class hello.java
root@ubuntu:~# java hello1.class  #运行但报错了
Error: Could not find or load main class hello1.class
root@ubuntu:~# 

报的错误是不能够找到主要的class hello1.class,但我用ls指令查询发现该目录下已经存在了hello1.class了:

root@ubuntu:~# ls
hello1.class  hello1.java  hello.class  hello.java
root@ubuntu:~# 

然后我在网上找了找了一下原因,都是说是jdk环境变量配置错误,但我查询我的jdk环境变量并没有错误的(用的linux指令:gedit /etc/profile):

# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
export JAVA_HOME=/usr/local/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre    
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib    
export PATH=${JAVA_HOME}/bin:$PATH

并且我检查该版本就是我安装配置的版本:

root@ubuntu:~# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
root@ubuntu:~# javac -version
javac 1.8.0_131
root@ubuntu:~# 

说明并不是jdk的问题,想起我是第一次用vi编写java程序,会不会是那里出错了,遗憾地发现那里也并没有错。想了好久,忽然记起是运行语句出错了,我也很无奈。因为现在都是用高级IDE了,正确的编辑的语句如下:

root@ubuntu:~# java hello1
hello world
root@ubuntu:~# 

后面不用带class

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值