web-dev-qa-db-fra.com

Aucune classe principale trouvée dans NetBeans

Je travaille sur une tâche de programmation pour ma classe. Je travaille avec NetBeans. J'ai terminé mon projet et cela a bien fonctionné. Je reçois un message indiquant "Aucune classe principale n'a été trouvée" lorsque je tente de l'exécuter. Voici une partie du code avec le principal:

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

J'ai posté ceci avant mais avait quelques problèmes. J'ai corrigé les autres et il ne reste plus que celui-ci. Tout conseil sera grandement apprécié.

21
Luis Ramos
  1. Faites un clic droit sur votre projet dans l'explorateur de projet
  2. Cliquez sur les propriétés
  3. Cliquez sur Exécuter
  4. Assurez-vous que votre classe principale est celle que vous voulez être le point d'entrée. (Assurez-vous d’utiliser le nom complet, c’est-à-dire mypackage.MyClass)
  5. Cliquez sur OK.
  6. Lancer le projet :)

Si vous souhaitez simplement exécuter le fichier, cliquez avec le bouton droit de la souris sur la classe dans l'explorateur de packages, puis cliquez sur Exécuter le fichier ou (Alt + RF), ou (Shift + F6)

26
Paul Samsotha

Aussi, pour les autres avec un problème légèrement différent où Netbeans ne trouvera pas la classe quand vous le voudrez lorsque vous effectuerez une recherche dans la "fenêtre de dialogue des classes principales" 

Il se peut que votre méthode principale dispose de la signature appropriée. Dans mon cas, j'ai oublié les arguments.

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

Les modificateurs public et static peuvent être écrits dans n'importe quel ordre (public statique ou public public statique), mais la convention est d'utiliser public statique comme indiqué ci-dessus. 

Args: Vous pouvez nommer l'argument comme bon vous semble, mais la plupart des programmeurs choisissent "args" ou "argv".

Lisez plus ici: http://docs.Oracle.com/javase/tutorial/getStarted/application/

7
TriMix

Dans les propriétés du projet, sous l'onglet Exécution, spécifiez votre classe principale. De plus, pour éviter ce problème, vous devez cocher la case "Créer une classe principale" lors de la création d'un nouveau projet. La spécification de la classe principale dans les propriétés devrait toujours fonctionner, mais si cela ne fonctionnait pas dans de rares cas, le problème pourrait être résolu en recréant le projet et en n'oubliant pas de cocher "Créer une classe principale" s'il n'était pas coché.

2
Asmat Ali

J'ai eu le même problème dans Eclipse, alors peut-être que ce que j'ai fait pour le résoudre peut vous aider .. il n'a pas été réglé automatiquement sur le bon fichier).

2
Stefan

Lors de la création d'un nouveau projet - Maven - Application Java dans Netbeans , IDE ne reconnaît pas la classe Main lors de la 1ère entrée de classe. (à l'étape 8 ci-dessous, nous ne voyons aucune classe).

Quand une classe générique est d'abord créée, puis la classe principale est créée, Netbeans enregistre la classe principale et l'application peut être exécutée et déboguée.

Étapes qui ont fonctionné pour moi:

  1. Créer un nouveau projet - Maven - Application Java (Projet créé: mytest; package créé: com.me.test)
  2. Cliquez avec le bouton droit sur le package: com.me.test
  3. Nouveau> Classe Java> Appelez-le "Tout ce que vous voulez"
  4. Cliquez avec le bouton droit sur le package: com.me.test
  5. Nouveau> Classe principale Java> l'a nommé: 'Main' (doit être 'Main')
  6. Faites un clic droit sur Projet mytest
  7. Cliquez sur Propriétés
  8. Cliquez sur Exécuter> en regard de la zone de texte "Classe principale":> Parcourir 
  9. Vous devriez voir: com.me.test.Main
  10. Sélectionnez-le et cliquez sur "Sélectionner la classe principale"

J'espère que cela fonctionne pour les autres aussi.

2
Felix

si tout cela est votre code, vous avez oublié de fermer la méthode principale

tout le reste me semble bon

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

essayez ça

1
Yehia Awad

Si le conseil d'ajouter les accolades fermantes fonctionne, je suggère d'ajouter une indentation à votre code afin que chaque accolade fermante soit placée sur un espace séparé, c'est-à-dire:

public class LuisRp3 {

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

    // stuff

    }
}

Cela aide simplement à la lisibilité.

Si, par contre, vous avez simplement oublié de copier les accolades de fermeture dans votre code, ou si la suggestion ci-dessus ne fonctionne pas: ouvrez la configuration et voyez si vous pouvez définir manuellement la classe principale. Je crains de ne pas avoir beaucoup utilisé NetBeans, je ne peux donc pas vous aider. Ma meilleure hypothèse est sous "Run Configuration", ou quelque chose comme ça.

Edit: Voir réponse de peeskillet si l'ajout d'accolades de fermeture ne fonctionne pas.

1
tamul

Il se peut que certaines choses ne se passent pas bien dans cette situation (en supposant que vous aviez un code après votre exemple et que vous ne laissiez pas simplement votre code sans crochets).

Tout d’abord, si vous exécutez l’ensemble du projet et pas seulement le fichier actuel, assurez-vous que votre projet est le projet principal et que la classe principale du projet est définie sur le fichier correct.

Sinon, j'ai vu des camarades de classe avec un code correct, mais ils avaient toujours le même problème. Parfois, dans Netbeans, une solution simple consiste à:

  1. Copiez votre code actuel (ou sauvegardez-le ailleurs)
  2. Supprimer votre fichier actuel
  3. Créez une nouvelle classe principale dans votre projet (vous pouvez l'appeler l'ancienne)
  4. Collez votre code dans

Si cela ne fonctionne pas, essayez de vider le cache Netbeans, et si tout échoue, effectuez une désinstallation et une réinstallation propres de Netbeans.

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

Vous devez ajouter }} à la fin de votre code.

0
Foster Hao

Vous devez renommer votre classe principale en Main, il ne peut en être autrement.

Peu importe le nombre de fichiers créés par les packages et les classes, vous devez nommer votre classe principale Main.

C'est tout.

0
OmShanti

Dans la barre d’outils, cliquez sur la flèche et sélectionnez Personnaliser .... pour ouvrir les propriétés du projet.Dans les catégories, sélectionnez RUN . Recherchez Classe principale . Supprimez tout le caractère de la classe principale et tapez votre classe name . Cliquez sur OK . Et exécutez à nouveau . Le problème est résolu.

0
user9154999