Bonjour les gens

Je viens de me rendre compte d'un probleme trés bête mais vachement handicapant.

je compile un simple HelloWorld

Je l'execute dans le chemin d:\blaporte\mesprogramme :
d:\blaporte\mesprogramme java HelloWorld
Bien evidement, ça marche sans souvi.

Mais si je l'excute en étant un repertoire plus haut d:\blaporte\ :
d:\blaporte\ java mesprogramme\HelloWorld
Ben woilou, j'ai une exception et le programme se lance pas.

java.lang.NoClassDefFoundError: blaporte\HelloWorld (wrong name: HelloWorld)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Exception in thread "main"
j'en déduit que le faite d'avoir mis un bout de chemin devant le fichier exécutable le gene, mais pourquoi??