NoClassDefFoundError lors de l'exécution de jar

Je suis un "pas de définition de classe trouvée" exception lors de l'exécution de mon application sur Windows (il tourne très bien sur OS X). Les classes de la JVM est de se plaindre à propos de mes classes (pas de tiers pots nécessaire). Quand j'ai décompresser les fichiers à l'intérieur du pot, tous les fichiers sont présents, y compris ceux de la JVMm est de se plaindre.

Le pot est créé à l'aide de la tâche suivante:

<target name="jar" depends="">
<jar destfile="build/app.jar" > 
  <manifest>
    <attribute name="Built-By" value="hamza"/>
    <attribute name="Main-Class" value="com.hamza.driver.ui"/>
<attribute name="Class-Path" value="./"/>
  </manifest>
  <fileset dir="build">
    <include name="**/*.class"/>
<include name="**/*.png"/>
<include name="**/*.xpi"/>
<include name="**/*.html"/>
<exclude name="**/*.jar"/>
  </fileset>
</jar>

Je ne peux pas comprendre ce qui est à l'origine du problème. Si je décompressez le bocal et exécuter le pot de l'annuaire j'ai décompressé la classe, tout fonctionne bien. Donc, je suis en supposant que tous les fichiers requis sont dans le pot.

EDIT: com.hamza.driver.ui est une classe dans un package appelé com.hamza.driver qui a main.

Après la compilation, j'obtiens un bocal "app.jar" et je l'exécute à l'aide de "java-jar app.jar" qui exécute bien sur OS X, mais pas sur Windows.

Si je décompresser app.jar dans un autre répertoire et exécutez la commande "java-jar app.jar" il excutes amende.

EDIT 2: exception:

Exception in thread "main" java.lang.NoClassDefFoundError: com/hamza/gui/tr 
ansfer/ClipboardTransferHandle 
au com.hamza.le pilote.l'interface utilisateur.principale(Source Inconnue) 
Causés par: java.lang.ClassNotFoundException: com.hamza.l'interface graphique.de transfert.Clipboa 
rdTransferHandle 
à java.net.URLClassLoader$1.run(Unknown Source) 
à java.de sécurité.AccessController.doPrivileged(Native method) 
à java.net.URLClassLoader.findClass(Source Inconnue) 
à java.lang.Chargeur de classe.loadClass(Source Inconnue) 
au coucher du soleil.misc.Lanceur$AppClassLoader.loadClass(Source Inconnue) 
à java.lang.Chargeur de classe.loadClass(Source Inconnue) 
à java.lang.Chargeur de classe.loadClassInternal(Source Inconnue) 
... 1 de plus 

ClipboardTransferHandle .les fichiers de classe sont présents dans le pot.

EDIT 3: importations pour le clip de conseil de classe:

importer java.util.la journalisation.Enregistreur; 
importer java.awt.datatransfer.Presse-papiers; 
importer java.awt.datatransfer.ClipboardOwner; 
importer java.awt.datatransfer.Transférables; 
importer java.awt.datatransfer.StringSelection; 
importer java.awt.datatransfer.DataFlavor; 
importer java.awt.datatransfer.UnsupportedFlavorException; 
importer java.awt.Boîte à outils; 
importer java.io.IOException; 

Tout en jouant avec lui, j'ai trouvé que si j'essaie de déclarer ClipboardTransferHandle comme une variable statique dans le pilote, il fonctionne, mais chaque objet qui n'est pas statique n'est pas trouvé.
Tous les principaux éléments d'interface sont variables statiques, de sorte que le GUI est construit, mais d'autres éléments ne sont pas; tout ce qui est créé pas statique provoque NoClassDefFound, mais si je les déclare statique pour les tests, ils travaillent.

Vous pouvez essayer sans la Classe-attribut de Chemin d'accès, et de vérifier si votre reproduire le problème.
Montrer exacte de l'invocation de la commande "java-jar my.jar". Si possible, un lien vers le pot en question.
Quelles sont les importations dans l'com.hamza.gui.tr ansfer.ClipboardTransferHandle classe?

OriginalL'auteur Hamza Yerlikaya | 2009-09-14