/ / Das Projekt konnte org.apache.bcel.constants zur Laufzeit nicht finden - Java, Maven, Jar, SBT, Bcel

Projekt kann org.apache.bcel.constants zur Laufzeit nicht finden - Java, Maven, Jar, Sbt, Bcel

Ich importiere eine JAR-Datei, die Bcel als eine Abhängigkeit (über Maven importiert) über Sbt in meinem Scala-Projekt hat. Es gibt keine Kompilierungsprobleme, aber zur Laufzeit erhalte ich die folgende Fehlermeldung:

[info] org.foo.bar.FirstSpec *** ABORTED ***
[info]   java.lang.NoClassDefFoundError: org/apache/bcel/Constants

Es wird angegeben, dass die Klasse org.apache.bcel.constants nicht gefunden werden kann. Gibt es eine Lösung für dieses Problem?

Bei weiteren Nachforschungen fand ich eine Lösung für dieses Problem, wie ich in meiner Antwort angegeben habe. Die bcel-Klasse musste explizit in das sbt-Projekt importiert werden.

Aber warum muss bcel explizit importiert werden, wenn es keine Verwendung gibt, außer wenn Funktionsaufrufe an die importierte JAR-Datei (die bcel als Abhängigkeit hat) übergeben werden, die es verwendet?

Antworten:

0 für die Antwort № 1

Der explizite Import von org.apache.bcel über sbt löste das Problem.

Ich habe die folgende Zeile zu meinem build.sbt hinzugefügt -

libraryDependencies += "org.apache.bcel" % "bcel" % "5.2"