当main(String [] args)是一个方法时,为什么编译器会说“无法找到或加载主类”?

时间:2018-06-03 21:45:02

标签: java main

以此代码为例

public class Hello
    {
        static void main(String[] args)
        {
            System.out.println("Hello World");
        }
    }

在这里,我没有为main方法编写公共文件并编译了类。当我运行程序时,为什么错误读作“无法找到或加载主类Hello.java”。

我的问题是,如果main(String [] args)是'方法'那么为什么要说'main class'?重点不在于公众在那里或不。关键是我更改了访问修饰符,导致main(string [] args)对JVM不可见。那么为什么JVM说主类不是main()方法

P.S。如果这是一个愚蠢的问题,那我真的很后悔问它。

修改: - 这是错误消息

Error: Could not find or load main class Hello.java

1 个答案:

答案 0 :(得分:4)

这里有两个问题。

  1. import scrapy from scrapy.spiders import CrawlSpider, Rule from scrapy.linkextractors import LinkExtractor class BbcSpider(CrawlSpider): name = 'bbcnews' allowed_domains = [ 'www.bbc.com', 'www.voanews.com',] start_urls = [ 'http://www.bbc.com/news', 'https://www.voanews.com/p/6290.html',] rules = (Rule(LinkExtractor(allow=()), callback='parse_link', follow=True),) def parse_link(self, response): yield { 'url' : response.url , } 必须声明为main()
  2. 但真正的问题是你的命令行。显然它是

    public static void

    应该是

    java Hello.java
    

    这里没有java Hello 这样的课程。该课程的名称为Hello.java