首页 > 编程语言 > 详细

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

时间:2019-08-12 22:24:07      阅读:137      评论:0      收藏:0      [点我收藏+]

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

1. 编译 

     技术分享图片

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

 

2. 运行

      技术分享图片

     出错了,首先,我的环境是配置好的,也就是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里会提示出错,而且也并不推荐这种做法。

               技术分享图片

      方法二

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

              编译

javac socket\Server.java  

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

             技术分享图片

            可以看到,编译正常

           运行

java socket.Server

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

            技术分享图片

 

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

原文:https://www.cnblogs.com/pyexile/p/11342767.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!