很长一段时间以来,我一直在开发一个相当“标准”的 Java Web 应用程序。我在 Eclipse 中开发,使用 Eclipse 的服务器插件在 Tomcat 中运行应用程序。该应用程序的设置很简单:Spring 用于引导,Wicket 用于 Web,Hibernate 用于 ORM,Maven 用于依赖管理。
今天我在项目中添加了 Akka 2.0。我按照手册将它添加到我的 POM 中:
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor</artifactId>
<version>2.0.2</version>
</dependency>
Maven 找到了依赖项,我可以看到它出现在 Eclipse 包资源管理器的 Maven 依赖项中。引用的 Scala 库也出现了(看起来是 2.9.2 版)。
我可以像预期的那样使用该库:Eclipse 找到类,我可以跳转到源文件等。一切正常。但是一旦我启动应用程序并且它遇到程序的任何部分引用 Akka,它就会抛出 NoClassDefFoundError。
由于所有其他库仍然按预期工作,我最好的猜测是这与 Akka 是用 Scala 开发的库这一事实有关。由于我自己几乎没有使用过 Scala,所以我自己找不到任何解决该问题的方法,而且当涉及到此类通用异常时,Google 并没有那么有帮助。
你有什么建议吗?