2012-01-10 36 views
7

tôi hiện đang làm việc trên gwt ứng dụng web, đó là gần xong, nhưng bây giờ tôi nhận được những lời cảnh báo sau khi gỡ rối các dự án như ứng dụng web:GWT: cầu cảng ném ngoại lệ nullpointer về gỡ lỗi

Jan 10, 2012 5:13:55 PM com.google.apphosting.utils.jetty.JettyLogger warn 
WARNING: failed greetServlet: java.lang.NullPointerException 
Jan 10, 2012 5:13:55 PM com.google.apphosting.utils.jetty.JettyLogger warn 
WARNING: Failed startup of context c[email protected]29ef4453{/,/home/ich/Eclipse Workspace/Mein Wochenplaner/war} 
java.lang.NullPointerException 
at java.lang.Class.isAssignableFrom(Native Method) 
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685) 
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) 
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
at org.mortbay.jetty.Server.doStart(Server.java:224) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:191) 
at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:239) 
at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:146) 
at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:97) 
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509) 
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068) 
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811) 
at com.google.gwt.dev.DevMode.main(DevMode.java:311) 
Jan 10, 2012 5:13:55 PM com.google.appengine.tools.development.DevAppServerImpl start 
INFO: The server is running at http://localhost:8888/ 
Jan 10, 2012 5:13:55 PM com.google.appengine.tools.development.DevAppServerImpl start 
INFO: The admin console is running at http://localhost:8888/_ah/admin 

Eclipse vẫn mang lại cho cho tôi một url, nhưng khi tôi mở nó, tôi nhận được một http

503 lỗi, dịch vụ không có sẵn

vì không thể truy cập vào html bắt đầu của tôi.

+1

Liệu greetServlet (mà bạn dường như đã xác định trong tệp web.xml) của bạn tồn tại trong cơ sở mã Java không? – Amey

Trả lời

4

Đảm bảo giá trị trong tài liệu web.xml của bạn trỏ đến đúng lớp. Xem ví dụ bên dưới:

... 
    <servlet> 
    <servlet-name>greetServlet</servlet-name> 
    <servlet-class>package.GreetServiceImpl</servlet-class> 
    </servlet> 
... 

gói.GreetServiceImpl nên tồn tại trong dự án của bạn.

Lưu ý: điều này có thể đã được gây ra bằng cách đổi tên các lớp học của bạn.

7

Tôi gặp sự cố tương tự. Hóa ra rằng khi tôi tạo ra một mẫu ứng dụng Web Project với một số mã mẫu, một mục nhập servlet đã được thêm vào web.xml mà không có bất kỳ mã servlet tương ứng nào.

Đơn giản chỉ cần loại bỏ các mục không cần thiết, cán servlets của riêng tôi, và nó làm việc tốt

2

Trong trường hợp của tôi, lớp Servlet đã tồn tại và web.xml được chỉ đúng với nó. Tuy nhiên, gần đây tôi đã chuyển lớp. Tôi đoán một trường hợp biên dịch của vị trí trước đó đã trôi nổi xung quanh một nơi nào đó, kích hoạt NullPointerException, mặc dù phiên bản chính xác cũng tồn tại.

Việc dọn dẹp Maven đã giải quyết được vấn đề cho tôi. Đối với những người không sử dụng Maven, việc xóa mọi thứ ở vị trí mục tiêu cũng sẽ hoạt động.

Các vấn đề liên quan