项目在运行时无法找到 org.apache.bcel.constants

Project unable to find org.apache.bcel.constants during runtime

我正在我的 scala 项目中通过 sbt 导入一个 jar 文件,该文件具有 bcel 作为依赖项(通过 maven 导入)。没有编译问题,但在运行时出现以下错误-

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

它说找不到 org.apache.bcel.constants class。这个问题有解决办法吗?

经过进一步的研究,我找到了这个问题的解决方案,正如我在回答中所说的那样。 bcel class 需要在 sbt 项目中显式导入。

但是为什么 bcel 在没有使用时需要显式导入,除非将函数调用传递给导入的 jar(它确实具有 bcel 作为依赖项)使用它?

通过 sbt 显式导入 org.apache.bcel 解决了这个问题。

我在 build.sbt -

中添加了以下行
libraryDependencies += "org.apache.bcel" % "bcel" % "5.2"