zoukankan      html  css  js  c++  java
  • 在控制台运行java时出错:错误: 找不到或无法加载主类

    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 socketServer.java  

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

                 

                可以看到,编译正常

               运行

    java socket.Server

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

                

  • 相关阅读:
    nginx 优化
    linux 内核的优化
    Linux下如何查看版本
    oracle安装数据库中文乱码解决办法
    Python 5 行代码的神奇操作
    Python爬取网站上面的数据很简单,但是如何爬取APP上面的数据呢
    解放双手!用 Python 控制你的鼠标和键盘
    js混淆、eval解密
    ubuntu
    爬虫基本原理
  • 原文地址:https://www.cnblogs.com/pyexile/p/11342767.html
Copyright © 2011-2022 走看看