• Java 6 (''错误: 找不到或无法加载主类......'')


    ''错误: 找不到或无法加载主类......''

    前言:最近学习Java。时常出现''错误: 找不到或无法加载主类......''等。

     有时计算机出现的错误,很有“个性”。

    我先叙述个人在运行Java的程序的一些个人情况。我是用notepad++,通过cmd来运行编译的。以此让大家更好的“对号入座”

    出错原因总结:(一个一个排除)

    一、我的运行过程

    1.java程序运行需要在cmd环境下先使用“javac HelloWorld.java”命令对java文件进行编译

    2.虚拟机编译会自动生成一个同名的以“.class”为后缀的类文件放在同一目录下

    3.然后再执行“java HelloWorld”来运行。程序就能运行。(注意:此处运行“java”命令,java后只能跟文件名,不需要任何后缀,否则也会报错)该步骤详细内容,请见Java 2 (Java编程初始用)

    二、系统环境变量

    请正确配置环境变量,详细内容请见Java 0 (jdk下载安装及环境配置)

    三、代码

    排除以上两方面的问题,以及拼写错误,那问题基本就可以确定出在代码上面。

    因为我用的是notepad++,所以就直接按照运行过程直接运行了。后来发现,出现这种错误的原因是“package helloworld;”而且几乎都是它造成的。

    举例:

    package com.heima.syn;
    class HelloWorld {
        public static void main(String[] args) {
            System.out.println("大家好");
        }
    }
    package com.heima.syn;
    
    public class Demo4_Ticket {
    
        /**
         * @param args
         * 火车站卖票的例子用实现Runnable接口
         */
        public static void main(String[] args) {
            MyTicket mt = new MyTicket();
            new Thread(mt).start();
            new Thread(mt).start();
            new Thread(mt).start();
            new Thread(mt).start();
            
            /*Thread t1 = new Thread(mt);                //多次启动一个线程是非法的
            t1.start();
            t1.start();
            t1.start();
            t1.start();*/
        }
    
    }
    
    class MyTicket implements Runnable {
        private int tickets = 100;
        @Override
        public void run() {
            while(true) {
                synchronized(this) {
                    if(tickets <= 0) {
                        break;
                    }
                    try {
                        Thread.sleep(10);                //线程1睡,线程2睡,线程3睡,线程4睡
                    } catch (InterruptedException e) {
                        
                        e.printStackTrace();
                    }
                    System.out.println(Thread.currentThread().getName() + "...这是第" + tickets-- + "号票");
                }
            }
        }
    }

    错误原因:这段代码,是Eclipse自动加上的这段代码。加上似乎是错的(但为什么错误还要加呢?),另外我用的是notepad++。(如果大家认为该错误原因解释的不好,请留言,愿与诸君共勉)

    解决办法就是,将“package helloworld;”删去。再按照运行过程来一次就行了。

  • 相关阅读:
    学术社区
    填树
    卡牌
    序列变换
    Redis++:Springboot2.x.x连接Redis配置整合
    GO学习笔记
    并查集
    WPS题注及表目录制作教程
    Linux C++ Reactor模式
    Golang 高阶函数(HigherOrder Functions)
  • 原文地址:https://www.cnblogs.com/9587cgq/p/13136755.html
Copyright © 2020-2023  润新知