Java VerifyError
Résolu/Fermé
A voir également:
- Java.lang.verifyerror: bad type on operand stack
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java football - Télécharger - Jeux vidéo
- Java jre - Télécharger - Langages
- Jeux java itel - Forum Mobile
2 réponses
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 014
13 mai 2015 à 22:22
13 mai 2015 à 22:22
Bonjour,
C'est pour moi toujours un problème de version :
Il doit y avoir confusion entre l'interface MetricsSystem dont hérite l'enum DefaultMetricsSystem (version r1.2.1 par exemple) et l'ancienne public abstract class MetricsSystem (version r0.23.11 par exemple) que ne peux pas étendre DefaultMetricsSystem puisque c'est un enum...
Du coup l'assignation
Il faudrait identifier quel jar possède l'ancienne dépendance de MetricsSystem et le mettre plus bas dans le classpath, derrière le jar qui possède la bonne dépendance MetricsSystem (qui possède probablement aussi DefaultMetricsSystem). Comme ça, le deuxième chargement sera ignoré et c'est la bonne version de MetricsSystem qui sera utilisée.
Remarque : pour gérer tes dépendances sans (trop) se casser la tête, tu devrais regarder du côté de Maven. (Débuter avec Maven)
C'est pour moi toujours un problème de version :
Type 'org/apache/hadoop/metrics2/lib/DefaultMetricsSystem' (current frame, stack[2]) is not assignable to 'org/apache/hadoop/metrics2/MetricsSystem'
Il doit y avoir confusion entre l'interface MetricsSystem dont hérite l'enum DefaultMetricsSystem (version r1.2.1 par exemple) et l'ancienne public abstract class MetricsSystem (version r0.23.11 par exemple) que ne peux pas étendre DefaultMetricsSystem puisque c'est un enum...
Du coup l'assignation
MetricsSystem metrics = DefaultMetricsSystem.INSTANCEest invalide à l'exécution.
Il faudrait identifier quel jar possède l'ancienne dépendance de MetricsSystem et le mettre plus bas dans le classpath, derrière le jar qui possède la bonne dépendance MetricsSystem (qui possède probablement aussi DefaultMetricsSystem). Comme ça, le deuxième chargement sera ignoré et c'est la bonne version de MetricsSystem qui sera utilisée.
Remarque : pour gérer tes dépendances sans (trop) se casser la tête, tu devrais regarder du côté de Maven. (Débuter avec Maven)