ClassNotFoundException avec ant java de la tâche et du chemin de classe

Je suis en train de compiler et d'exécuter une simple classe java dans eclipse. La compilation des tâches fonctionne très bien, et depuis je n'ai pas spécifier un dossier de destination des fichiers sont dans le même répertoire que la source. Ce qui est bien, pour le moment tout ce que je besoin est de savoir comment je peux utiliser la classe avec la méthode main ().

J'ai essayé d'utiliser le nom complet de la classe (avec le nom du package, etc) et celui de la classe seul, mais toujours je reçois un java.lang.ClassNotFoundException

    Buildfile: C:\Users....\build.xml
    run:
         [java] java.lang.NoClassDefFoundError: code/control/MyClass
         [java] Caused by: java.lang.ClassNotFoundException: code.control.MyClass
         [java]     at java.net.URLClassLoader$1.run(Unknown Source)
         [java]     at java.security.AccessController.doPrivileged(Native Method)
         [java]     at java.net.URLClassLoader.findClass(Unknown Source)
         [java]     at java.lang.ClassLoader.loadClass(Unknown Source)
         [java]     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
         [java]     at java.lang.ClassLoader.loadClass(Unknown Source)
         [java]     at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         [java] Could not find the main class: code.control.MyClass.  Program will exit.
         [java] Exception in thread "main" 
         [java] Java Result: 1
    compile:
    default:
    BUILD SUCCESSFUL
 Total time: 234 milliseconds

Ci-dessous, sont les cibles prises à partir de mon build.xml fichier:

<target name="default" depends="compile" description="learn">

</target>

  <target name="compile" depends="run">
            <javac srcdir="src/" />
   </target>

  <target name="run">
  <java classname="code.control.MyClass" fork="true"/>
</target>

Je ne peux pas comprendre pourquoi la classe n'est pas trouvé. MyClass contient la méthode main() et depuis je ne spécifiez pas de chemin de classe, il faut regarder le répertoire courant, qui est la src/droite?

Le répertoire de développement est l'habitude de l'éclipse de la structure du fichier:

nomduprojet/src/code/contrôle/Maclasse

Si c'est un problème de classpath comment pourrais-je le résoudre? J'ai toujours eu de problème à saisir le concept de "mettre sur votre chemin de classe" ... Si quelqu'un pouvait fournir un peu d'explication avec le chemin de classe dans la fourmi contexte, je serais très reconnaissante.

Merci pour toute aide sur ce. La version de ant est 1.7.0

notez que ClassNotFoundExceptions et NoClassDefFoundErrors ne sont pas synonymes.
Avez-vous remarqué que votre cible "compiler" dépend de "run"? Ça va être appelée avant la compilation... corrigé: <target name="compile"> (...) </target> <nom de la cible="run" depends="compiler"> (...) </target>

OriginalL'auteur denchr | 2009-07-15