螺纹“中的异常;主&x201D;java.lang.NoSuchMethodError:main//怎么了?
我有以下简单的代码:螺纹“中的异常;主&x201D;java.lang.NoSuchMethodError:main//怎么了?,java,linux,terminal,javac,nosuchmethoderror,Java,Linux,Terminal,Javac,Nosuchmethoderror,我有以下简单的代码: public class Date { byte day; byte month; short year; } class DateUse{ public static void main(String[] args){ Date date = new Date(); date.day = 15; System.out.println(date.day); } } 我正在使用Linux终端编译我的.java代码: javac Date.ja
public class Date
{
byte day;
byte month;
short year;
}
class DateUse{
public static void main(String[] args){
Date date = new Date();
date.day = 15;
System.out.println(date.day);
}
}
我正在使用Linux终端编译我的.java代码:
javac Date.java
在Windows环境下,任何IDE都可以编译而没有任何错误,为什么它会在Linux中给我错误
提前感谢您。将
日期使用
设置为公共类,并在日期
类之前设置
将文件另存为DateUse.java
,并使用
javac DateUse.java
DateUse
类包含main方法,而不是Date
您的main方法需要在Date类中,因为您的文件名代表类名。您的代码应如下所示:
public class Date{
public byte day;
public byte month;
public short year;
public static void main(String[] args){
Date date = new Date();
date.day = 15;
System.out.println(date.day);
}
}听起来好像您试图运行
Date
而不是DateUse
:
$ javac Date.java
$ java Date
Exception in thread "main" java.lang.NoSuchMethodError: main
$ java DateUse
15
您是否已将“Date”声明为主类?标题中的异常不是编译错误。您在Linux上使用的是什么版本的Java,在Windows上使用的是什么版本的Java?Linux中的Java版本是-1.6.0,不过您可以随时合并这两个类。没问题。如果你认为它是有用的,就把它标记为一个答案。实际上,我是在调用错误的类日期,我应该调用DATEAUE。