【问题标题】:Could not find main class in Netbeans在 Netbeans 中找不到主类
【发布时间】:2017-04-09 13:56:40
【问题描述】:
package abc ;   
class Trying
{
Trying ()
{
    System.out.println("hello");
}
        }

public class trying {
public static void main(String[] args) {
    new Trying () ;
}

}

当我将类的名称从 Trying 更改为其他名称时,它可以工作,但这里显示:

错误:无法找到或加载主类 abc.trying /Users/name/Library/Caches/NetBeans/8.2/executor-sn-ps/run.xml:53:Java 返回:1 构建失败(总时间:0 秒)

为什么会这样? 在已经提出的任何问题中,我都没有发现这种情况。

【问题讨论】:

  • 您使用的是哪个 jdk 和操作系统?
  • 我已经安装了这个:jdk-8u121-macosx-x64 (1).dmg

标签: java netbeans


【解决方案1】:

Java 是区分大小写的语言,但没有说明类名是否区分大小写的文档。

在 Eclipse 中它会显示语法错误

类文件冲突:资源存在不同的情况: '/sample/bin/abc/Trying.class'。

如果没有显示错误,它将只创建一个类的类文件Tryingtrying

1) 如果生成Trying类的类文件,则会抛出

错误:在 abc.trying 类中找不到主要方法

由于Trying类中没有main方法,所以在运行时它会寻找main方法来启动。

2) 如果生成trying 类的类文件,则会抛出

线程“主”java.lang.NoClassDefFoundError 中的异常:

在运行时它在这里寻找类Trying,因为它调用了类tryingmain。它无法加载,因为它没有编译。

所以我们可以得出结论,java不允许两个具有相同名称的类,甚至不同的情况

类名区分大小写的更多细节是here

【讨论】:

    【解决方案2】:
    class Trying
    {
        Trying ()
        {
            System.out.println("hello");
        }
    }
    
    public class Try_Main {
        public static void main(String[] args) {
            new Trying () ;
        }
    }
    

    请在不同情况下使用两个不同的类名,而不是同名。 编译时,编译成功,编译会创建两个同名但大小写不同的类文件。但是,操作系统只允许一个文件,它只是用第二个文件覆盖第一个文件(首先在编译时创建,然后是第二个文件)。在运行时,你会得到一个运行时错误,因为其中一个类不见了。所以,请使用不同的名称...

    【讨论】:

      【解决方案3】:

      嗯,这个类应该是public 并确保将文件名保存为类名

      【讨论】:

        【解决方案4】:

        您已指定尝试多次。

        package abc;
        
        public class Trying {
        
            public static void main(String[] args) {
        
                trying1();
        
            }
        
            public static void trying1() {
        
                System.out.println("Good?!");
        
            }
        
        }
        

        【讨论】:

        • 类名是区分大小写的,不是吗? Tryingtrying 是两个不同的类,不是吗?
        • trying 和 Trying 是不同的类。
        猜你喜欢
        • 1970-01-01
        • 2016-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-05
        • 2015-08-04
        • 1970-01-01
        相关资源
        最近更新 更多