将GWT添加到类路径中时,junit测试因NoSuchMethodError失败,为什么?

时间:2011-07-28 07:43:59

标签: eclipse gwt junit classpath

我有一个使用GWT的项目。 我使用maven来管理依赖项,因此gwt会自动添加。 当我右键单击我的测试文件夹并启动为Junit测试时,我有几个正确运行的junit测试。

现在,我使用google插件eclipse将我的项目转换为gwt项目(右击,属性,启用gwt)。

当我这样做时,它会自动将gwt添加到构建路径中(通常不需要它,因为我已经在我的maven依赖项中获得了它,但是gpe似乎需要它)。

我重新运行我的junit测试(使用eclipse)和NoSuchMethodError(并且我确信存在被控制的方法)带来了大量测试。

但如果我使用maven(mvn test)运行测试,所有测试都会成功!

我使用GWT 2.3.0,Junit 4.8.2,Eclipse Indigo

为什么在我的类路径中添加gwt(通过gpe)会导致我的junit测试失败(仅在eclipse junit runner中)?以及如何解决它?

2 个答案:

答案 0 :(得分:3)

好的,我找到了解决方案:

运行配置>我的junit配置>类路径

这里,我在项目文件夹之前提升了maven依赖项。

之后,所有的运行都像魅力。

答案 1 :(得分:1)

请参阅此GWT FAQ entry(步骤3)。

  

3。如果您的项目使用Apache Tomcat库,请确保项目的类路径上的GWT SDK库位于其上方(项目属性> Java构建路径>订单和导出)。否则,在托管/开发模式下启动应用程序时,您可能会收到java.lang.NoSuchMethodError。