2010-07-14 6 views
1

J'écris actuellement un projet de test unitaire utilisant la version 4.6.1 (Windows Vista + Eclipse). Mon projet est divisé en 3 parties:NoClassDefFoundError Importer un projet de bibliothèque

  • A. application de test unitaire (type: application CLDC)
  • B. Application à tester (type: application CLDC)
  • C. Un projet de bibliothèque (type : bibliothèque, fichier .jar non importé)

Le projet A doit référencer le code présent dans B (et bien sûr même dans C). Je voudrais préciser que je peux exécuter sans problèmes le projet B (référence C). Mes problèmes commencent lorsque je tente d'exécuter le projet A.

je fis les opérations suivantes:

changer le type de projet B de l'application CLDC à la bibliothèque B références du projet C A fait référence à l'ensemble projet B tout projet comme "Active pour Blackberry" Fondamentalement A voit les deux autres projets comme deux bibliothèques imbriquées. Le code est construit avec succès, mais le problème est que quand une classe de la bibliothèque C est appelée par B lors de l'exécution, l'exception suivante est levée:

NoClassDefFoundError

Aucun message détaillé

Toute aide serait vraiment appréciée.

Merci beaucoup

Répondre

3

NoClassDefFoundError signifie que A cannot find C at runtime. La cause habituelle est que C n'a pas pu être déployé sur le périphérique cible (simulateur ou périphérique réel).

Solution 1:

Pour le projet A sous Projet-> Propriétés-> chemin de génération Java assurer C (votre projet de bibliothèque) est répertorié sous « projets » et la case correspondante cochée sur l'Ordre et à l'exportation 'onglet. Cela devrait garantir que la bibliothèque est exportée pendant le processus de génération et de déploiement.

Solution 2:

dans le projet A ajouter un lien symbolique (clic droit Projet-> Construire Path-> Source de lien) à la source bibliothèque C. Cela force le code source de la bibliothèque à être inclus lorsque le projet A est construit.

Questions connexes