Java文件名参考编译错误

时间:2018-06-25 09:36:43

标签: java reference filenames

package concurrencyTest;

public class concurrencyTest implements Runnable
{    
    @Override
    public void run() 
    {        System.out.println("Hello from a thread!");    }


    public static void main(String[] args)
     {
         concurrencyTest c = new concurrencyTest();
         Thread t = new Thread(c);
         t.start();
     }
}

嗨,我只是想让我的Java并发测试运行。但是我遇到了这个错误:

  

错误:请在类concurrencytest.ConcurrencyTest中找不到主要方法   将主要方法定义为:   公共静态void main(String [] args)   或JavaFX应用程序类必须扩展javafx.application.Application

我猜想在Java程序需要运行的众多项目目录和子文件中的某个地方,项目或类的名称被错误地用小写字母引用。我已经遍历了所有我可以找到的所有文件,这些文件都来自根目录,并重命名了任何小写“ concurrencytest”实例。但是似乎编译器仍然找到对小写并发测试的引用,因此拒绝编译。知道这个参考可能在哪里吗?

我的根目录,源目录和Java代码文件都称为'concurrencyTest'

修改  修改了此问题的原始代码,以在主方法定义中包括“静态”。这样做是必要的,但不能解决问题。

2 个答案:

答案 0 :(得分:1)

您写错了main定义。您应该按如下所示进行更改:

public static void main(String[] args) {
    // ...
}

答案 1 :(得分:0)

我在元文件... \ concurrencyTest \ nbproject \ project.properties中找到了对'concurrencytest'的引用 所以我将其更改为“ concurrencyTest”

此外,当NetBeans在其期望的类中找不到期望的主要方法时,它还会打开一个“ RunProject”窗口,在其中列出已找到的类的主要方法。对我来说,它在'concurrencyTest'中找到了一个主文件,所以我选择了它。

其中一个动作解决了问题,但不确定哪个。