it-swarm.com.de

Keine Hauptklasse in NetBeans gefunden

Ich habe an einer Aufgabe für meine Klasse in der Programmierung gearbeitet. Ich arbeite mit NetBeans. Ich habe mein Projekt beendet und es hat gut funktioniert. Ich erhalte die Meldung "Keine Hauptklasse gefunden", wenn ich versuche, sie auszuführen. Hier ist ein Teil des Codes mit dem Hauptcode:

package luisrp3;
import Java.io.FileNotFoundException;
import Java.io.PrintStream;

public class LuisRp3 {

public static void main(String[] args) throws FileNotFoundException  {

    Java.io.File newFile = new Java.io.File("LuisRamosp4.txt");

    if (newFile.exists()) {
        newFile.delete();
    }

    System.setOut(new PrintStream(newFile));

    Guitar guitar = new Guitar(); 

Ich habe das schon mal gepostet, hatte aber ein paar Probleme. Ich habe die anderen repariert und jetzt ist nur noch einer übrig. Jeder Rat wird sehr geschätzt.

21
Luis Ramos
  1. Klicken Sie im Projektexplorer mit der rechten Maustaste auf Ihr Projekt
  2. Klicken Sie auf Eigenschaften
  3. Klicken Sie auf Ausführen
  4. Stellen Sie sicher, dass Ihre Hauptklasse diejenige ist, die Sie als Einstiegspunkt haben möchten. (Stellen Sie sicher, dass Sie den vollständig qualifizierten Namen verwenden, d. H. Mypackage.MyClass.)
  5. OK klicken.
  6. Projekt ausführen :)

Wenn Sie die Datei nur ausführen möchten, klicken Sie im Paket-Explorer mit der rechten Maustaste auf die Klasse, und klicken Sie auf Datei ausführen, oder (Alt + RF), oder (Shift + F6)

26
Paul Samsotha

Auch für andere Benutzer mit einem etwas anderen Problem, bei dem Netbeans die Klasse nicht findet, wenn Sie möchten, wenn Sie vom "Hauptklassen-Dialogfenster" aus navigieren. 

Es kann sein, dass Ihre Hauptmethode die richtige Signatur hat. In meinem Fall habe ich die Argumente vergessen.

beispiel: public static void main (String [] args)

Die Modifizierer public und static können in beliebiger Reihenfolge geschrieben werden (public static oder static public). Die Konvention lautet jedoch, wie oben gezeigt, public static. 

Args: Sie können das Argument beliebig benennen, aber die meisten Programmierer wählen "args" oder "argv".

Lesen Sie hier mehr: http://docs.Oracle.com/javase/tutorial/getStarted/application/

7
TriMix

Geben Sie in den Projekteigenschaften auf der Registerkarte Ausführen Ihre Hauptklasse an. .__ Um dieses Problem zu vermeiden, müssen Sie beim Erstellen eines neuen Projekts "Hauptklasse erstellen" aktivieren. Die Angabe der Hauptklasse in den Eigenschaften sollte immer funktionieren. Wenn dies jedoch in seltenen Fällen nicht funktioniert, kann das Problem gelöst werden, indem das Projekt neu erstellt wird und nicht vergessen wird, "Hauptklasse erstellen" zu aktivieren, wenn es nicht markiert ist.

2
Asmat Ali

Ich hatte das gleiche Problem in Eclipse, also könnte das, was ich getan habe, um es zu lösen, Ihnen helfen ... In den Projekteigenschaften musste ich die Startkonfigurationen auf die Datei setzen, die die Hauptmethode enthält (ich weiß nicht warum es wurde nicht automatisch auf die richtige Datei gesetzt).

2
Stefan

Beim Erstellen eines neuen Projekts - Maven - Java - Anwendung in Netbeans Erkennt die IDE die Main - Klasse beim Eintrag der 1. Klasse nicht. (In Schritt 8 sehen wir keine Klassen).

Wenn zuerst eine generische Klasse erstellt wird und dann die Main-Klasse erstellt wird, registriert Netbeans die Main-Klasse, und die App könnte ausgeführt und debuggt werden.

Schritte, die für mich gearbeitet haben:

  1. Neues Projekt erstellen - Maven - Java-Anwendung (Projekt erstellt: mytest; Paket erstellt: com.me.test)
  2. Klicken Sie mit der rechten Maustaste auf das Paket: com.me.test
  3. Neu> Java-Klasse> Benannte es "Was auch immer" Sie wollen
  4. Klicken Sie mit der rechten Maustaste auf das Paket: com.me.test
  5. Neu> Java Main Class> benannt: 'Main' (muss 'Main' sein)
  6. Klicken Sie mit der rechten Maustaste auf Project mytest.
  7. Klicken Sie auf Eigenschaften
  8. Klicken Sie neben dem Textfeld "Hauptklasse" auf Ausführen>> Durchsuchen 
  9. Sie sollten Folgendes sehen: com.me.test.Main
  10. Wählen Sie es aus und klicken Sie auf "Hauptklasse auswählen".

Ich hoffe, das funktioniert auch für andere.

2
Felix

wenn dies alles Ihr Code ist, haben Sie vergessen, die Hauptmethode zu schließen

alles andere hört sich gut an

public class LuisRp3 {

public static void main(String[] args) throws FileNotFoundException  {

    Java.io.File newFile = new Java.io.File("LuisRamosp4.txt");

    if (newFile.exists()) {
        newFile.delete();
    }

    System.setOut(new PrintStream(newFile));

    Guitar guitar = new Guitar(); 
}}

versuch das

1
Yehia Awad

Wenn der Rat zum Hinzufügen der schließenden Klammern funktioniert, empfehle ich, Ihrem Code eine Einrückung hinzuzufügen, so dass sich jede schließende Klammer in einem separaten Abstand befindet, d. H .:

public class LuisRp3 {

    public static void main(String[] args) throws FileNotFoundException  {

    // stuff

    }
}

Dies hilft nur bei der Lesbarkeit.

Wenn Sie dagegen vergessen haben, die schließenden Klammern in Ihren Code zu kopieren, oder der obige Vorschlag nicht funktioniert: Öffnen Sie die Konfiguration und prüfen Sie, ob Sie die Hauptklasse manuell festlegen können. Ich fürchte, ich habe NetBeans nicht viel benutzt, daher kann ich Ihnen nicht helfen, wo diese Option ist. Meine beste Vermutung ist unter "Konfiguration ausführen" oder so ähnlich.

Edit: Siehe peeskillets Antwort wenn das Hinzufügen von schließenden Klammern nicht funktioniert.

1
tamul

In dieser Situation könnten einige Dinge schief gehen (vorausgesetzt, Sie hatten Code nach Ihrem Beispiel und ließen Ihren Code nicht einfach unbegrenzt).

Wenn Sie Ihr gesamtes Projekt und nicht nur die aktuelle Datei ausführen, stellen Sie zunächst sicher, dass Ihr Projekt das Hauptprojekt ist und die Hauptklasse des Projekts auf die richtige Datei gesetzt ist.

Ansonsten habe ich Klassenkameraden gesehen, deren Code in Ordnung war, aber sie hatten immer noch das gleiche Problem. In Netbeans besteht eine einfache Lösung aus folgenden Gründen:

  1. Kopieren Sie Ihren aktuellen Code (oder sichern Sie ihn an einem anderen Ort)
  2. Löschen Sie Ihre aktuelle Datei
  3. Erstellen Sie eine neue Hauptklasse in Ihrem Projekt (Sie können sie als alte Klasse bezeichnen)
  4. Fügen Sie Ihren Code wieder ein

Wenn dies nicht funktioniert, versuchen Sie den Netbeans-Cache zu löschen, und wenn alles andere fehlschlägt, führen Sie einfach eine saubere Deinstallation und Neuinstallation von Netbeans durch.

1
EpicDavi
import Java.util.Scanner;
public class FarenheitToCelsius{
    public static void main(String[]args){
     Scanner input= new Scanner(System.in);
     System.out.println("Enter Degree in Farenheit:");
     double Farenheit=input.nextDouble();
     //convert farenheit to celsius
     double celsuis=(5.0/9)*(farenheit 32);
     system.out.println("Farenheit"+farenheit+"is"+celsius+"in celsius")
             {
0
yaw sefa anane

Sie müssen am Ende Ihres Codes }} hinzufügen.

0
Foster Hao

Sie müssen Ihre Hauptklasse in Main umbenennen, es kann nichts anderes sein.

Es ist egal, wie viele Dateien Sie als Pakete und Klassen erstellen. Sie müssen Ihre Hauptklasse Main nennen.

Das ist alles.

0
OmShanti

Ich habe auch Netbeans erlebt, die sich bei mir über "Keine Hauptklassen gefunden" beschwert haben. Das Problem betraf ein Projekt, von dem ich wusste, dass es in der Vergangenheit funktioniert hat, aber es schlug fehl, als ich es auf einem anderen PC ausprobierte.

Meine spezifischen Versagensgründe weichen wahrscheinlich vom OP ab, aber ich werde immer noch mitteilen, was ich auf der Debugging-Reise gelernt habe, falls diese Erkenntnisse jemandem helfen, ihre eigenen einzigartigen Probleme in Bezug auf dieses Thema herauszufinden.

Was ich gelernt habe ist, dass beim Starten von NetBeans ein Schritt namens "Scannen von Projekten ..." ausgeführt werden sollte Scanning projects...

Vor dieser Phase sollten Sie feststellen, dass alle Java-Dateien mit einer main () -Methode im Bereich "Projekte" mit dem folgenden Symbol (ohne Pfeil) angezeigt werden:

icon before scanning

Wenn nach Abschluss dieser Scan-Phase eine main () -Methode in der Datei gefunden wurde, ändert sich das Symbol dieser Datei wie folgt (mit Pfeil):

icon after scanning

Auf meinem System schien dieser Schritt "Scannen von Projekten ..." fehlgeschlagen zu sein. Stattdessen blieb er bei einem Schritt "Öffnen von Projekten" hängen.

Ich bemerkte auch ein kleines rotes Symbol in der rechten unteren Ecke, das auf das Problem hinwies, das mich plagte:

Unexpected exception

Unexpected Exception
Java.lang.ExceptionInInitializerError

Wenn ich auf diesen Link klicke, werden mir weitere Details des Fehlers angezeigt:

Java.security.NoSuchAlgorithmException: MD5 MessageDigest not available
    at Sun.security.jca.GetInstance.getInstance(GetInstance.Java:159)
    at Java.security.Security.getImpl(Security.Java:695)
    at Java.security.MessageDigest.getInstance(MessageDigest.Java:167)
    at org.Apache.lucene.store.FSDirectory.<clinit>(FSDirectory.Java:113)
Caused: Java.lang.RuntimeException
    at org.Apache.lucene.store.FSDirectory.<clinit>(FSDirectory.Java:115)
Caused: Java.lang.ExceptionInInitializerError
    at org.netbeans.modules.parsing.lucene.LuceneIndex$DirCache.createFSDirectory(LuceneIndex.Java:839)

Diese Erwähnung von "Java.security" erinnerte mich daran, dass ich an der "Java.security" -Datei dieses Computers herumgespielt hatte (genauer gesagt, ich führte Salvador Valencias Schritte von diesem Thread aus, tat es aber falsch und hat dabei "Java.security" kaputt gemacht :))

Nachdem ich den Schaden behoben hatte, den ich an meiner "Java.security" -Datei angerichtet hatte, funktionierte der Schritt "Scanning projects ..." von NetBeans wieder, und die kleinen grünen Pfeile tauchten erneut in meinen Dateien auf Klassen gefunden "Problem.

0
Gurce

Suchen Sie in der Symbolleiste nach und drücken Sie auf den Pfeil, und wählen Sie Anpassen ..... Es öffnet die Projekteigenschaften Name . Klicken Sie auf OK . und führen Sie den Vorgang erneut aus . Das Problem ist gelöst.

0
user9154999