Ошибка GWT + GAE: сбой org.mortbay.jetty.nio.SelectChannelConnector при запуске GWTTestCase-JUnit - PullRequest
5 голосов
/ 25 января 2011

Я обычно использую Eclipse IDE для проекта GAE + GWT.

Среда: GWT2.1.1, GAE 1.4.0

В проекте GWT (без GAE), используя GWTTestCase в проекте ,,, → нет проблем. беги хорошо.

В проекте GWT + GAE, используя GWTTestCase в проекте для GWT ,,, → При запуске теста, который расширяет 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.JettyLauncher.start (JettyLauncher.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.GWTTestCase.runTest (GWTTestCase.java:456) at junit.framework.TestCase.runBare (TestCase.java:134) на junit.framework.TestResult $ 1.protect (TestResult.java:110) в junit.framework.TestResult.runProtected (TestResult.java:128) на junit.framework.TestResult.run (TestResult.java:113) at junit.framework.TestCase.run (TestCase.java:124) на com.google.gwt.junit.client.GWTTestCase.run (GWTTestCase.java:311) на junit.framework.TestSuite.runTest (TestSuite.java:232) на junit.framework.TestSuite.run (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) at 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, он будет работать нормально.

Ответы [ 2 ]

13 голосов
/ 16 марта 2011

Нет необходимости удалять пакет.Просто убедитесь, что ссылка на GWT указана перед файлом appengine в пути сборки.

1 голос
/ 15 февраля 2011

Извините за поздний ответ, но я только что сам столкнулся с этой проблемой.

У вас есть конфликт ClassPath.

Пакеты org.mortbay включены в библиотеки GWT и Appengine.

Я просто удалил их из своей копии библиотеки Appengine, чтобы они все еще были доступны из библиотеки GWT. Теперь все вроде бы нормально.

BestRegards

Джефф Брукнер

...