J'importe un fichier jar contenant bcel en tant que dépendance (importé via maven) via sbt dans mon projet scala. Il n'y a pas de problèmes de compilation mais lors de l'exécution, l'erreur suivante s'affiche:
[info] org.foo.bar.FirstSpec *** ABORTED ***
[info] java.lang.NoClassDefFoundError: org/apache/bcel/Constants
Il indique qu'il est impossible de trouver la classe org.apache.bcel.constants. Existe-t-il une solution à ce problème?
Après d’autres recherches, j’ai trouvé une solution à ce problème, comme je l’ai indiqué dans ma réponse. La classe bcel devait être explicitement importée dans le projet sbt.
Mais pourquoi bcel doit-il être explicitement importé quand il n’est pas utilisé, sauf lorsqu’il passe des appels de fonction au jar importé (qui a bcel comme dépendance) qui l’utilise?
Réponses:
0 pour la réponse № 1Importer explicitement org.apache.bcel via sbt a résolu le problème.
J'ai ajouté la ligne suivante à mon build.sbt -
libraryDependencies += "org.apache.bcel" % "bcel" % "5.2"