Eclipse ne peut pas trouver la classe principale

Je suis en utilisant Eclipse 3.7.2 sur Ubuntu 12.04 avec OpenJDk 7 installé

java -version donne

java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (6b24-1.11.1-4ubuntu3)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

Et à chaque fois que j'essaye d'exécuter un projet, j'obtiens l'erreur suivante.

Exception in thread "main" java.lang.NoClassDefFoundError: test/Example
Caused by: java.lang.ClassNotFoundException: test.Example
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: test.Example. Program will exit.

Cela se produit pour tous les projets, que j'ai compilé sur mon système Windows.
Et, lors de l'utilisation de la javac et java directement à partir du terminal, il fonctionne.
Est-il une solution simple? Est-ce à cause de OpenJDK?

Le code de la classe est :

package test;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class Example extends JFrame {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    public Example() {
       setTitle("Simple example");
       setSize(300, 200);
       setLocationRelativeTo(null);
       setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                Example ex = new Example();
                ex.setVisible(true);
            }
        });
    }
}

Mise à JOUR: Ma source est dans un dossier appelé swingtest. Pendant le débogage, j'ai trouvé que l'Éclipse est à l'aide de la variable classpath de la source comme swingtest/swingtest/src/test/plutôt que swingtest/src/test/. Cela peut-il être corrigé?

  • essayez de faire un Projet->nettoyer et ensuite construire l'espace de travail et de courir à nouveau.
  • est parseProfile la classe que vous sont en cours d'exécution? si donc s'il vous plaît poster son code.
  • Est-ce que votre classe vraiment pas un package?
  • J'ai essayer de nettoyer le projet. Mais cela n'a pas fonctionné
  • oui, c'est la classe je suis en cours d'exécution
  • j'essayais de voir si le colis a été le problème. Je l'ai essayé avec le paquet, mais toujours pas de chance
  • Vous dites que c'est un problème lorsque vous essayez de construire - mais il semble que vous essayez de l'exécuter. Qui est-il, et quels sont exactement ce que tu fais?
  • Merci de poster votre code de classe
  • Je ne suis pas à poster la parseProfile code comme il est assez grand. Celui-ci ne fonctionne pas trop. C'est une classe appelée Exemple, qui, lors de la compilation par la borne fonctionne très bien. Mais jette les erreurs (mise à jour dans le post) lorsque le fait à l'aide d'eclipse
  • S'agit-il uniquement d'une construction en cause? Cela pourrait être un problème de classpath.
  • Oui, je suis seul bâtiment de ce projet, juste à cette seule classe. Et il ne semble pas être un problème de classpath. Veuillez voir ma dernière mise à jour dans le poste principal.
  • désolé, il se passe lorsque j'essaie de l'exécuter. Corrigé dans le post
  • Comment avez-vous exporté le projet à partir de Windows, puis de les réimporter dans Linux? Je suis sûr que ce n'est pas un problème d'Eclipse sur une plateforme Linux. Elle peut être due à la compilation ou de construire des erreurs de chemin. Lorsque vous ajoutez des pots dans eclipse chemin de génération, il utilise le système de fichier le chemin du fichier pas le chemin d'accès relatif. Donc en mouvement le projet à l'ensemble des plates-formes, nous avons l'habitude de ce type d'erreurs. Pour cela, vous pouvez regarder dans .classpath de votre projet si celui-ci contient aucun chemin d'accès absolu à une dépendance. Aussi, vous pouvez toujours modifier le dossier de la source en modifiant le Chemin de génération à partir du menu contextuel de l'explorateur de projet.
  • merci pour la signaler. J'ai essayé de créer un nouvel espace de travail, et il fonctionne très bien. Je pense qu'un": "dans mon chemin était le problème

InformationsquelleAutor rahules | 2012-07-08