java控制台无法启动不了_在控制台运行java时出错:错误: 找不到或无法加载主类...

java源程序在eclipse里直接运行的话没有问题,但是在控制台时出现了错误。

1. 编译

80c5179380902be6e01eb1e91d1d81e8.png

编译没有出错,.class文件也正确显示的。

2. 运行

a9b18b092182fb91d3f34b0bca464cf7.png

出错了,首先,我的环境是配置好的,也就是javac xxx.java,和java xxx之前是可以正常编译和运行的。那么这儿是什么问题呢?

3. 原因

因为我的源码里有引入了一个包socket,socket就是我这个源码Server.java所在的包。这儿运行报错的原因就是引入这个包导致的。

package socket;

import java.io.IOException;

import java.net.ServerSocket;

import java.net.Socket;

public class Server {

public static void main(String[] args) {

try {

//服务端打开端口8888

ServerSocket port = new ServerSocket(8888);

//设置监听

System.out.println("监听端口号:" + port);

Socket s = port.accept();

System.out.println("有连接过来" + s);

port.close();

s.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

4. 解决办法

方法一

因为这个文件就在这个包下,所以其实不用引入这句话也是可以编译运行的。但是你会发现在IDE里会提示出错,而且也并不推荐这种做法。

6555cae5c816cd6986f8b34da16987d2.png

方法二

编译和运行的命令稍微改一下

编译

javac socket\Server.java

即从包名目录开始一直到源码文件

409e8a7c4d926b2ba7b98f8a372a5b7f.png

可以看到,编译正常

运行

java socket.Server

即包名.一直到字节码文件,也就是.class文件。注意这儿不是java socket\Server,而是用"."

81217807f2a38a605f921274730068bb.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值