2011-01-25 13 views
5

Tôi thường sử dụng IDE Eclipse cho dự án GAE + GWT.Lỗi GWT + GAE: không thành công org.mortbay.jetty.nio.SelectChannelConnector bằng cách chạy GWTTestCase-JUnit

Môi trường: GWT2.1.1, GAE 1.4.0

Trong GWT dự án (không GAE), sử dụng GWTTestCase trong dự án ,,, → không có vấn đề. chạy tốt.

Trong dự án GWT + GAE, sử dụng GWTTestCase trong dự án cho GWT ,,, → Khi chạy thử nghiệm mở rộng GWTTestcase, lỗi sẽ đến.

Lỗi là dưới đây: java.lang.NoSuchMethodError:.. Org.mortbay.thread.Timeout (Ljava/lang/Object;) V tại org.mortbay.io.nio.SelectorManager $ SelectSet (SelectorManager.java : 306) tại org.mortbay.io.nio.SelectorManager.doStart (SelectorManager.java:223) tại org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:39) tại org.mortbay.jetty.nio .SelectChannelConnector.doStart (SelectChannelConnector.jo.303) tại org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:39) tại org.mortbay.jetty.Server.doStart (Server.java:233) tại tổ chức .mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:39) tại com.google.gwt.dev.shell.jetty.JettyLauncher.start (JettyLauncher.java WEBC42) tại com.google.gwt.dev.DevMode.doStartUpServer (DevMode.java:431) tại com.google. gwt.dev.DevModeBase.startUp (DevModeBase.java:1053) tại com.google.gwt.junit.JUnitShell.getUnitTestShell (JUnitShell.java:680) tại com.google.gwt.junit.JUnitShell.runTest (JUnitShell. java: 625) tại com.google.gwt.junit.client.GWTTestCase.runTest (GWTTestCase.java:456) tại junit.framework.TestCase.runBare (TestCase.java:134) tại junit.framework.TestResult $ 1 .protect (TestResult.java:110) tại junit.framework.TestResult.runProtected (TestResult.java:128) tại junit.framework.TestResult.run (TestResult.java:113) tại junit.framework.TestCase.run (TestCase.java:124) tại com.google.gwt.junit.client.GWTTestCase.run (GWTTestCase.java:311) tại junit.framework.TestSuite.runTest (TestSuite. java: 232) tại junit.framework.TestSuite.run (TestSuite.java:227) tại org.junit.internal.runners.JUnit38ClassRunner.run (JUnit38ClassRunner.java:83) tại org.eclipse.jdt.internal. junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java:49) tại org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:38) tại org.eclipse.jdt.internal.junit. runner.RemoteTestRunner.runTests (RemoteTestRunner.java:467) tại org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:683) tại org.eclipse. jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:390) tại org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:197)

Nguồn kiểm tra là bên dưới: gói 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"); 
} 

} 

không có GAE, sẽ chạy bình thường.

Trả lời

13

Không cần phải loại bỏ các gói. Chỉ cần đảm bảo rằng bình GWT được tham chiếu trước dấu hiệu appengine trong đường dẫn xây dựng.

+0

Đúng vậy. Cảm ơn! – Tinoue

+0

Tại sao tôi không chỉ đến StackOverflow và đọc điều này một vài giờ trước? Cảm ơn nhiều! –

+0

Vâng, đúng vậy. Thật dễ dàng ... và tôi đã cài đặt lại Eclipse. Cảm ơn – Johanna

1

Xin lỗi về câu trả lời muộn, nhưng tôi chỉ tự mình gặp sự cố này.

Bạn có xung đột ClassPath.

Các gói org.mortbay được bao gồm trong cả thư viện GWT và Appengine.

Tôi vừa xóa chúng khỏi bản sao của thư viện Appengine - để chúng vẫn có sẵn từ thư viện GWT. Tất cả mọi thứ bây giờ có vẻ là OK.

BestRegards

Geoff Bruckner

+0

Cảm ơn bạn! dễ hiểu. Tôi sẽ thử nó. – Tinoue

+0

Thật tuyệt vời! Cảm ơn! – jldupont