我現在有一個乾淨的編譯我的代碼,並使用WAMPServer。然而,當我嘗試從Eclipse運行我的代碼(運行方式,GWT aplication)我在控制檯中出現以下錯誤:Eclipse GWT java.lang.NullPointerException
java.lang.NullPointerException
at com.google.gwt.dev.DevMode.validateServletTags(DevMode.java:611)
at com.google.gwt.dev.DevMode.doStartup(DevMode.java:449)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1083)
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:836)
at com.google.gwt.dev.DevMode.main(DevMode.java:311)
這是第一行相關的代碼(我沒有將剩下的爲簡便起見,請讓我知道,如果你需要的話):
"DevMode.java:611"
TreeLogger servletLogger =
logger.branch(TreeLogger.DEBUG, "Validating <servlet> tags for module '" + module.getName()
+ "'", null, new InstalledHelpInfo("servletMappings.html"));
for (String servletPath : servletPaths) {
String servletClass = module.findServletForPath(servletPath);
assert (servletClass != null);
// Prefix module name to convert module mapping to global mapping.
servletPath = "/" + module.getName() + servletPath;
if (servletValidator == null) {
servletWriter.addMapping(servletClass, servletPath);
} else {
servletValidator.validate(servletLogger, servletClass, servletPath);
}
這是我
AwardTracker.get.xml
<module>
<inherits name="com.google.gwt.user.User"/>
<inherits name="com.google.gwt.user.theme.standard.Standard"/>
<entry-point class="org.AwardTracker.client.AwardTracker"/>
<!-- servelet context - path is arbitrary, but must match up with the rpc init inside java class -->
<!-- Tomcat will listen for this from the server and waits for rpc request in this context -->
<servlet class="org.AwardTracker.server.MySQLConnection" path="/MySQLConnection" />
<inherits name="com.google.gwt.user.theme.standard.Standard"/>
<inherits name="com.google.gwt.user.theme.chrome.Chrome"/>
<inherits name="com.google.gwt.user.theme.dark.Dark"/>
</module>
這是我
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>AwardTracker.html</welcome-file>
</welcome-file-list>
</web-app>
<servlet>
<servlet-name>mySQLConnection</servlet-name>
<servlet-class>org.AwardTracker.server.MySQLConnection</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mySQLConnection</servlet-name>
<url-pattern>/org.AwardTracker.AwardTracker/MySQLConnection</url-pattern>
</servlet-mapping>
任何幫助將不勝感激。
問候,
格林
的答案是:
web.xml中不正確的順序。它應該是:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>mySQLConnection</servlet-name>
<servlet-class>org.AwardTracker.server.MySQLConnection</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mySQLConnection</servlet-name>
<url-pattern>/org.AwardTracker.AwardTracker/MySQLConnection</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>AwardTracker.html</welcome-file>
</welcome-file-list>
</web-app>
謝謝
格林
請提及GWT版本以及您是否使用帶外部服務器配置的gwt(您沒有使用jetty,eh?) – SSR
我正在使用幾周前通過Eclipse更新管理器安裝的Eclipse Juno GWT插件,所以它應該是最新的。我不使用碼頭。我是新手,並且一直在使用示例來配置和編碼到這一點,所以我不確定我是否使用外部服務器配置。我怎麼告訴你? – Glyn
答案是WEB.xml的順序不正確。請參閱上面的正確的WEB.xml。謝謝,格林。 – Glyn