Java: Error: Main method not found in class MyTest?
class MyTest
{
void main ()
{
System.out.println("hello world");
}
}
Das müsste doch ab >= Java 21 funktionieren. Ich benutze JRE 22 aber trotzdem kommt dieser Fehler.
2 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Programmieren & Softwareentwicklung, Software & Apps
Ich mache schon ewig nichts mehr mit Java aber muss die main-Methode nicht static sein und Argumente akzeptieren? Also meiner Meinung nach muss es so aussehen:
public class MyTest {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
Woher ich das weiß:Berufserfahrung – Entwickle Anwendungen für iOS, iPadOS und macOS beruflich.
Ich weiß mittlerweile wieso... man muss das mit einer Flag aktivieren
javac --release 22 --enable-preview MyTest.java
java --enable-preview MyTest myarg
, dann funktioniert auch die neue Syntax.
void main (String... args) {
System.out.println(args[0]);
}
oder auch
class MyTest
{
void main ()
{
}
}
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Programmiersprache
Das ist nach wie vor ein Preview-Feature (JEP 445/463). Muss also beim Java-Aufruf mit --enable-preview eingeschaltet werden.