2011-01-25 5 views
5

일반적으로 GAE + GWT 프로젝트에 Eclipse IDE를 사용합니다.GWT + GAE 오류 : GWTTestCase-JUnit을 실행하여 org.mortbay.jetty.nio.SelectChannelConnector를 실행하지 못했습니다.

환경 : GWT2.1.1 (GAE없이) GWT 프로젝트에서

GAE 1.4.0 프로젝트에 GWTTestCase를 사용하여 ,,, 아무 문제 → . 잘 돌아 가라.

GWT + GAE 프로젝트에서 GWT 프로젝트의 GWTTestCase를 사용하여 → GWTTestcase를 확장하는 테스트를 실행하면 오류가 발생합니다.

오류는 다음과 같습니다 : java.lang.NoSuchMethodError :.. org.mortbay.thread.Timeout (Ljava/랭/개체) org.mortbay.io.nio.SelectorManager $ SelectSet에서 V (SelectorManager.java : 306) at org.mortbay.io.nio.SelectorManager.doStart (SelectorManager.java:223) at org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:39) at org.mortbay.jetty.nio .SelectChannelConnector.doStart (SelectChannelConnector.java:303) at org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:39) at org.mortbay.jetty.Server.doStart (Server.java:233) at org .mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:39) 012 com.google.gwt.dev.DevMode.doStartUpServer에서 com.google.gwt.dev.shell.jetty.JettyLauncher.start (JettyLauncher.java:542) (DevMode.java:431) com.google에서 에서 3,516,. gwt.dev.DevModeBase.startUp (DevModeBase.java:1053) (com.google.gwt.junit.JUnitShell.getUnitTestShell (JUnitShell.java:680) at com.google.gwt.junit.JUnitShell.runTest (JUnitShell. java : 625) at com.google.gwt.junit.client.GWTTestCase.runTest (GWTTestCase.java:456) at junit.framework.TestCase.runBare (TestCase.java:134) at junit.framework.TestResult $ 1 .protect (TestResult.java:110) at junit.framework.TestResult.runProtected (TestResult.java:128) at 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) at junit.framework.TestSuite.runTest (TestSuite. java : 232) at junit.framework.TestSuite.run (TestSuite.java:227) at org.junit.internal.runners.JUnit38ClassRunner.run (JUnit38ClassRunner.java:83) at org.eclipse.jdt.internal. junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java:49) at org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:38) at org.eclipse.jdt.internal.junit. runner.RemoteTestRunner.runTests (RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:683) at org.eclipse. jdt.internal.junit.runner.RemoteTestRunner.run org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:197)에서 (RemoteTestRunner.java:390) 시험

소스는 아래 : package 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가 없으면 정상적으로 실행됩니다.

답변

13

패키지를 제거 할 필요가 없습니다. GWT jar가 빌드 경로의 appengine jar보다 먼저 참조되는지 확인하십시오.

+0

맞습니다. 감사! – Tinoue

+0

왜 몇 시간 전에 StackOverflow에 와서 이것을 읽지 않았습니까? 고마워요! –

+0

예, 그게 전부입니다. 매우 쉽습니다 ... 이미 Eclipse를 다시 설치했습니다. 감사 – Johanna

1

늦게 답변을 드려 죄송하지만이 문제는 나에게만 있습니다.

당신은 ClassPath 충돌이 있습니다.

org.mortbay 패키지는 GWT 및 Appengine 라이브러리에 모두 포함되어 있습니다.

Appengine 라이브러리 사본에서 GWT 라이브러리에서 계속 사용할 수 있도록 방금 제거했습니다. 이제는 모든 것이 괜찮은 것 같습니다.

BestRegards

제프 브루크너

+0

감사합니다. 이해하기 쉬운. 시도해 볼게. – Tinoue

+0

놀라운! 감사! – jldupont

관련 문제