2009-07-21 7 views
4

J'ai deux projets dans le même espace de travail utilisant un seul espace de travail avec Eclipse.Classe de prévertification d'erreur - Java/Eclipse/Blackberry

Projet1 - Références Projet n ° 2 et contient également le « chemin de génération Java » pour le projet 2
Projet2 - ne fait pas référence à quoi que ce soit

package Projet1 est appelé Projet1
Projet2 pacakge est appelé Proejct2

importer des Projec2 en utilisant Projet1:

import Project2.ClassName 

Lors de la compilation que je reçois l'erreur:

Error preverifying class Project1.Launcher Project1 line 0 BlackBerry Java Problem 
Error!: Error: preverifier failed: C:\Users\footose\Desktop\eclipse\plugins\net.rim.eide.componentpack4.5.0_4.5.0.16\components\bin\prev ... Project1  line 0 BlackBerry Java Problem 

Toute suggestion serait génial

Répondre

3

Il peut être parce que l'étape de vérification préalable n'a pas été fait correctement dans la bibliothèque net.rim.eide que vous utilisez.
Ce fil suggère réellement à preverify the library independently, même pour faire le processus de prévertification pour chaque classe (comme fait here)!


Note: le preverification est:

a phase in the development and deployment cycle for Java applications designed to run on the J2ME CLDC (Connected Limited Device Configuration).

Preverification performs certain checks on the Java bytecodes ahead of runtime.
If this first verification pass is ok, the preverifier annotates the classfiles (using standard Java bytecode "attributes", so that these are still plain old Java bytecodes and will be executable in VMs not aware of the benefits of preverification), and then saves the annotated class files or passes them along to the next tool in the compile chain.

When the KVM attempts to run execute a J2ME CLDC-based application, it checks the Java class files for these preverification annotations. Proper annotations in the class files guarantee that certain compile-time checks were made, and so the KVM can pass through its own verfication and security checks much faster and start executing the application more quickly.

Sun's CLDC reference implementation SDK includes the 'preverify' tool. You use the tool after compiling your code via javac (or your favorite Java compiler).

+0

Je peux compiler sans problème s'il n'y a qu'un seul projet, cela ne se produit que si j'en ai deux. – footose

+0

alors ... peut-être un problème avec les bibliothèques utilisées par Project2? Ou un effet secondaire de dépendre d'un projet de l'autre en terme d'étapes de préverification ... Peut être pourriez-vous essayer de rendre les dépendances moins directes (ie pas l'onglet "projet") et plus à travers les chemins, pour vérifier si cela déclenche l'erreur. – VonC

+0

ok..i supprimé l'instanciation de la Project2, et laissé l'importation du paquet et l'erreur est parti. Puis j'ai rajouté l'instantanéité et l'erreur est revenue. Ensuite, j'ai supprimé l'importation et directement instancié l'objet comme suit: \t \t bbFindGUI.bbFindScreen bbf = new bbFindGUI.bbFindScreen(); L'erreur réapparaît. – footose

0

Pour compiler correctement, faites un clic droit sur Projet1 et allez dans "Propriétés> Chemin de compilation Java> Projets". Ajoutez Project2 comme une dépendance, et vous serez en mesure de compiler correctement.

3

J'ai reçu cette erreur lorsque j'utilisais les paramètres du compilateur Java 6 par défaut. Essayez de les définir à 1.3 en allant dans "Propriétés> Compilateur Java" et en jouant avec ces paramètres.

1

Avant d'essayer quoi que ce soit, supprimez le dossier bin et recompilez. L'erreur peut se produire lorsque vous générez le projet avec une bibliothèque système JRE, puis que vous le modifiez ultérieurement.