Erreur Run class Java

Résolu/Fermé
Runiga - 20 déc. 2012 à 14:43
 Runiga - 20 déc. 2012 à 16:14
Bonjour,



Comme dis dans le titre, je n'arrive pas Run un projet, le message "selection does not contain a main type" apparait à chaque fois. J'ai créer un autre projet et la ça fonctionne parfaitement, donc ça vient surement de mon 1er projet!. La classe se trouve bien dans le src . auriez vous une idée d'ou pourrait venir ce problème?

Merci d'avance pour votre aide
A voir également:

4 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
20 déc. 2012 à 14:54
Le problème est indiqué très clairement dans le message d'erreur : tu ne peux pas exécuter une classe si elle ne contient pas de main !

Soit tu as oublié la méthode main, soit tu l'as mal écrite. Les trois syntaxes correctes étant :

public static void main(String[] args)
public static void main(String args[])
public static void main(String...args)

Remarque, pour chacune de ces trois écritures :
→ le nom "args" peut être remplacé par n'importe quel autre nom valide de variable.
→ on peut rajouter des "throws" pour les Exception et les Error
0
Merci d'avoir répondu aussi vite.
j'aurai du préciser que j'avais généré le main automatiquement à l'aide d' Eclipse "public static void main(String[] args)"donc ça vient d'autre chose ?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
Modifié par KX le 20/12/2012 à 15:20
Il y a plein de choses qui peuvent se passer, une autre source d'erreur c'est qu'il faut que le main soit dans une classe de même nom que le fichier.

Par exemple ceci ne fonctionnera pas car dans le fichier A.java il n'y a pas de main dans la classe A.

fichier A.java

class A 
{ 
} 

class B 
{ 
    public static void main(String[] args) 
    { 
    } 
}
0
En effet ma classe portait un nom différent.
J'ai donc recréé une classe du même nom que mon projet, j'ai rédémaré Eclipse, mais je me heurte tjr à la même erreur ?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
20 déc. 2012 à 15:52
Si tu as bien un main correct dans une classe qui porte le même nom que le fichier java dans lequel il est écrit, Eclipse devrait être capable de détecter tout seul la compilation.

Néanmoins, tu peux aussi aller le configurer manuellement :

Par exemple je créé un projet "Hello" dans lequel j'ajoute un fichier "HelloWorld.java" avec ce contenu :

public class HelloWorld
{
    public static void main(String[] args)
    {
        System.out.println("HelloWorld");
    }
}

Dans le menu "Run > Run Configurations" tu as une icône tout en haut à gauche "New Launch Configuration", et on remplit les différents champs :

Name : Hello_HelloWorld
Project : Hello
MainClass : HelloWorld

Puis on fait "Apply" et "Run" et ça doit t'afficher "HelloWorld" dans la console.

Mais j'insiste sur le fait qu'Eclipse est capable de faire tout ça tout seul lorsqu'on le manipule correctement.
0
Ok j'ai finalement trouvé d'ou ça venait, tellement stupide.

Ma class se trouvait d'en un dossier "src" alors qu'elle devrait être dans un package "src"...

Maintenant ça fonctionne nikel !

Merci de ton aide KX
0