1

很长一段时间以来,我一直在开发一个相当“标准”的 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 并没有那么有帮助。

你有什么建议吗?

4

1 回答 1

1

验证所需的库 (AKKA) 是否在 Eclipse 下的部署程序集中:打开项目的属性并在左侧查找“部署程序集”。

[我正在使用 Eclipse Indigo]

您可以通过检查 tomcat 下的部署来验证预期的 jar 文件是否存在(或缺少)。

于 2012-07-31T18:17:17.693 回答