使用Java Web App中的(Scala)库,获取NoClassDefFoundError

时间:2012-07-31 16:20:51

标签: java eclipse scala maven akka

我很长一段时间以来一直在研究一个相当“标准”的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在这些通用异常方面并没有那么有用。

你有什么建议吗?

1 个答案:

答案 0 :(得分:1)

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

[我正在使用Eclipse Indigo]

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