2013-12-16 19 views
17

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 eine Nachricht, die sagt "Keine Hauptklasse gefunden", wenn ich versuche, sie auszuführen. Hier ist ein Teil des Codes mit den wichtigsten:Nein Hauptklasse in NetBeans gefunden

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 postete dies zuvor, hatte aber ein paar Probleme. Ich habe die anderen repariert und habe jetzt nur noch diese übrig. Jeder Rat wird sehr geschätzt.

+0

Haben Sie außer LuisRp3 weitere Klassen im Projekt? – Josh

+1

Wie führen Sie Ihr Programm aus? – assylias

+0

Ich habe das Gefühl, die Erklärung der Würfe könnte es verwirren. Versuchen Sie, try/catch-Blöcke anstelle der throws-Deklaration hinzuzufügen und versuchen Sie es erneut. – DerStrom8

Antwort

23
  1. rechts auf Ihrem Projekt klicken Sie im Projekt-Explorer
  2. Klicken Sie auf Eigenschaften
  3. Klicken Sie auf Run
  4. Stellen Sie sicher, Ihre Hauptklasse ist diejenige, die Sie der Einstiegspunkt sein soll. (Stellen Sie sicher, dass Sie den vollqualifizierten Namen verwenden, z. B. mypackage.MyClass)
  5. Klicken Sie auf OK.
  6. Projekt ausführen :)

Wenn Sie nur die Datei auszuführen, klicken Sie rechts auf die Klasse aus dem Paket-Explorer, und klicken Sie auf Ausführen Datei oder (Alt + R, F) oder (Umschalttaste + F6)

+0

Ich habe auch das gleiche Problem und befolgte Ihre Schritte. Aber das Problem besteht immer noch. Ich bin in der Lage, das Projekt in meinem System auszuführen, aber wenn ich diesen Dist-Ordner auf einen anderen Computer kopiere und versuche auszuführen, erhalte ich diesen Fehler. Was könnte das Problem sein? – Pawan

+0

Ich hatte heute das selbe Problem. Am Ende habe ich mein Projekt geschlossen und wiedereröffnet und dann die Hauptmethode gefunden. HTH. – JavaJeff

1

wenn alles, was Ihr Code vergessen haben, die wichtigste Methode

alles andere zu schließen klingt gut zu mir

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(); 
}} 

versuchen, dass

+1

Dies ist nicht der ganze Code. Ich poste nur ein wenig davon, weil es sich um eine Klassenaufgabe handelt. Trotzdem danke. –

+0

haben Sie immer noch den gleichen Fehler –

+1

Ich arbeite an der "Versuch/Fang", die vorgeschlagen wurde. Vielen Dank. –

0

Sie müssen }} zum Ende hinzuzufügen Ihrer Code.

1

Wenn der Rat die Schließung Klammern arbeiten hinzuzufügen, schlage ich vor Einzug auf Ihren Code hinzufügen, so wird jede schließende Klammer auf einer getrennt voneinander, das heißt:

public class LuisRp3 { 

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

    // stuff 

    } 
} 

Dies hilft nur bei der Lesbarkeit.

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

Bearbeiten: Siehe peeskillet's answer, wenn das Hinzufügen von schließenden Klammern nicht funktioniert.

1

In dieser Situation könnten ein paar Dinge schief laufen (vorausgesetzt, Sie hatten Code nach Ihrem Beispiel und haben Ihren Code nicht einfach freigelassen).

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

Ansonsten habe ich Klassenkameraden mit ihrem Code in Ordnung gesehen, aber sie hatten immer noch das gleiche Problem. Manchmal, in Netbeans, eine einfache Lösung ist:

  1. Ihrem aktuellen Code kopieren (oder an einem anderen Ort sichern)
  2. Löschen Sie die aktuelle Datei
  3. Erstellen Sie eine neue Haupt-Klasse im Projekt (Sie können es die alte nennen)
  4. Code in

Paste zurück wenn dies nicht funktioniert, dann versuchen, die Netbeans-Cache zu löschen, und wenn alle Stricke reißen, dann einfach eine saubere Deinstallation und Neuinstallation von Netbeans.

2

Ich hatte das gleiche Problem in Eclipse, also vielleicht kann das, was ich getan habe, um es zu lösen, Ihnen helfen. In den Projekteigenschaften musste ich die Startkonfigurationen auf die Datei einstellen, die die main-Methode enthält (ich weiß nicht, warum sie nicht automatisch auf die richtige Datei gesetzt wurde).

7

Auch für andere da draußen mit einem etwas anderen Problem, wo Netbeans die Klasse nicht finden wird, wenn Sie beim Durchsuchen von "Hauptklassen Dialogfeld" suchen.

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

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

Die Modifikatoren öffentliche und statische kann in jeder Reihenfolge (public static oder statische public) geschrieben werden, aber die Konvention ist öffentlich zu verwenden statische, wie gezeigt über.

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

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

2

In Projekteigenschaften unter der Registerkarte Ausführen, geben Sie Ihre Hauptklasse. Um dieses Problem zu vermeiden, müssen Sie beim Erstellen eines neuen Projekts die Option "Hauptklasse erstellen" aktivieren. Das Angeben der Hauptklasse in Eigenschaften sollte immer funktionieren, aber wenn es in seltenen Fällen nicht funktioniert, kann das Problem gelöst werden, indem das Projekt neu erstellt wird und nicht "Hauptklasse erstellen" aktiviert wird, wenn es deaktiviert ist.

-1

Stellen Sie sicher, dass der Zugriffsmodifizierer public und nicht privat ist. Ich habe dieses Problem und immer ist das mein Problem.

öffentliche static void main (String [] args)

+0

gut, es scheint mir, dass es bereits ** public ** ... – vefthym

0

Sie benötigen eine Hauptklasse Main umbenennen, kann es nichts anderes sein.

Es spielt keine Rolle, wie viele Dateien wie Pakete und Klassen Sie erstellen, müssen Sie Ihre Hauptklasse Main nennen.

Das ist alles.

1

Beim Erstellen eines neuen Projekts - Maven - Java-Anwendung in Netbeans erkennt die IDE die Main-Klasse nicht auf 1. Klasse Eintrag. (In Schritt 8 unten 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:

  1. neues Projekt erstellen - Maven - Java-Anwendung (Projekt erstellt: mytest; Paket erstellt: com.me.test)
  2. Rechtsklick-Paket: com.me.test
  3. Neu> Java-Klasse> Benannt 'Whate ver 'wollen Sie
  4. Rechtsklick-Paket: com.me.test
  5. Neu> Java Hauptklasse> nannte es: 'Haupt'(muss sein' Haupt ‚)
  6. Rechts klicken auf Projekt mytest
  7. Klicken Sie auf Eigenschaften
  8. Klicken Sie auf Ausführen> neben 'Hauptklasse' Textfeld:> Browse
  9. sollten Sie sehen: co m.me.test.Main
  10. es auswählen und klicken Sie auf „Wählen Sie Hauptklasse“

Hoffnung dies auch für andere arbeitet.

0
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") 
      { 
+1

es gibt mir Fehler, während es itry zu laufen –

-1

Drücken Sie den Hammer links von der grünen Pfeil (Piste), für das Programm & Build Projekt zu reinigen. Drücken Sie den grünen Pfeil. Wählen Sie die Hauptklasse aus.

Hoffe es funktioniert für Sie.

0

In der Symbolleiste suchen nach drücken Sie den Pfeil und wählen Sie Anpassen ... Es öffnet Projekteigenschaften.In den Kategorien wählen Sie RUN. Suchen Sie nach Hauptklasse. Löschen Sie alle Hauptklassenzeichen und geben Sie Ihren Klassennamen ein. Klicken Sie auf OK. Und wieder laufen. Das Problem ist gelöst.

Verwandte Themen