GWT&x2B;GAE错误:运行GWTTestCase JUnit导致org.mortbay.jetty.nio.SelectChannelConnector失败

GWT&x2B;GAE错误:运行GWTTestCase JUnit导致org.mortbay.jetty.nio.SelectChannelConnector失败,gwt,gae-eclipse-plugin,Gwt,Gae Eclipse Plugin,我通常将EclipseIDE用于GAE+GWT项目 环境:GWT2.1.1,GAE 1.4.0 在GWT项目(不含GAE)中,在项目中使用GWTTestCase,,, →没问题。跑得好 在GWT+GAE项目中,在GWT的项目中使用GWTTestCase,,, →运行扩展GWTTestcase的测试时, 错误来了 错误如下: java.lang.NoSuchMethodError:org.mortbay.thread.Timeout。(Ljava/lang/Object;)V 位于org.mort

我通常将EclipseIDE用于GAE+GWT项目

环境:GWT2.1.1,GAE 1.4.0

在GWT项目(不含GAE)中,在项目中使用GWTTestCase,,, →没问题。跑得好

在GWT+GAE项目中,在GWT的项目中使用GWTTestCase,,, →运行扩展GWTTestcase的测试时, 错误来了

错误如下: java.lang.NoSuchMethodError:org.mortbay.thread.Timeout。(Ljava/lang/Object;)V 位于org.mortbay.io.nio.SelectorManager$SelectSet。(SelectorManager.java:306) 位于org.mortbay.io.nio.SelectorManager.doStart(SelectorManager.java:223) 位于org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 位于org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:303) 位于org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 位于org.mortbay.jetty.Server.doStart(Server.java:233) 位于org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 在com.google.gwt.dev.shell.jetty.jettylancher.start(jettylancher.java:542) 位于com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:431) 位于com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1053) 位于com.google.gwt.junit.JUnitShell.getUnitTestShell(JUnitShell.java:680) 位于com.google.gwt.junit.JUnitShell.runTest(JUnitShell.java:625) 位于com.google.gwt.junit.client.gwtestcase.runTest(gwtestcase.java:456) 位于junit.framework.TestCase.runBare(TestCase.java:134) 位于junit.framework.TestResult$1.protect(TestResult.java:110) 位于junit.framework.TestResult.runProtected(TestResult.java:128) 运行(TestResult.java:113) 运行(TestCase.java:124) 位于com.google.gwt.junit.client.gwtestcase.run(gwtestcase.java:311) 位于junit.framework.TestSuite.runTest(TestSuite.java:232) 运行(TestSuite.java:227) 位于org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) 位于org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) 位于org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

测试来源如下: 包com.companyName.client

import com.google.gwt.junit.client.GWTTestCase;

public class Test extends GWTTestCase {


@Override
public String getModuleName() {
    return "com.companyName.projectName";
}


/**
 * test
 */
public void testNumburOne () {
    System.out.println("testNumburOne");
}

}

如果没有GAE,它将正常运行。

很抱歉回复太晚,但我自己才刚刚遇到这个问题

您有一个类路径冲突

org.mortbay包包含在GWT和Appengine库中

我刚刚从Appengine库的副本中删除了它们,这样它们仍然可以从GWT库中获得。现在一切似乎都好了

问候


杰夫·布鲁克纳(Geoff Bruckner)

无需取出包装。只需确保GWT jar在构建路径中被引用在appengine jar之前。

谢谢!容易理解。我来试试。为什么我几个小时前不来StackOverflow看看呢?非常感谢你!是的,就是这样。很容易。。。我已经重新安装了Eclipse。谢谢