【发布时间】:2018-06-25 09:36:42
【问题描述】:
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 中找不到主要方法,请 将主要方法定义为: 公共静态无效主要(字符串 [] 参数) 或者 JavaFX 应用程序类必须扩展 javafx.application.Application
我猜在某个地方,在 Java 程序需要运行的无数项目目录和子文件中,项目或类的名称被错误地以小写字母引用。我已经手动浏览了从根目录中找到的所有文件,并重命名了小写“concurrencytest”的任何实例。但似乎编译器仍然找到了对小写 concurrencytest 的引用,因此拒绝编译。知道这个引用可能在哪里吗?
我的根目录、源码目录、java代码文件都叫'concurrencyTest'
编辑 修改了这个问题的原始代码,在主方法定义中包含“静态”。这样做是必要的,但并没有解决问题。
【问题讨论】:
-
public void main你确定错误不应该按字面意思解释吗? -
错误信息指出...请将main方法定义为:public static void main(String[] args)...。将其与您的主要方法签名进行比较指出您的签名不是
static。只需将其设为static,错误就会失去其根源。 -
请将main方法定义为:public static void main(String[] args)
-
您发布的类名为
concurrencyTest.concurrencyTest,这就是您需要将其大写以调用它的方式。