【问题标题】:Eclipse GWT java.lang.NullPointerExceptionEclipse GWT java.lang.NullPointerException
【发布时间】:2013-01-21 02:54:18
【问题描述】:

我现在对我的代码进行了干净编译,并且正在使用 WAMPServer。但是,当我尝试从 Eclipse(运行方式,GWT 应用程序)运行我的代码时,我在控制台中收到以下错误:

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 与外部服务器配置一起使用(您没有使用码头,嗯?)
  • 我正在使用几周前通过 Eclipse 更新管理器安装的 Eclipse Juno GWT 插件,所以它应该是最新的。我没有使用码头。我对此并不陌生,并且一直在使用示例来配置和编码,所以我不确定我是否使用外部服务器配置。请问我该怎么说?
  • 答案是 WEB.xml 的顺序不正确。请参阅上面的正确 WEB.xml。谢谢,格林。

标签: java mysql eclipse gwt


【解决方案1】:

请转到“validateServletTags(DevMode.java:611)”并检查该行。尝试打印所有变量。那应该告诉你哪个是空的。

【讨论】:

  • 这一行是: if (servletValidator == null) { servletWriter.addMapping(servletClass, servletPath);问候,格林
  • 尝试打印 servletWriter servletClass 和 servletPath。在 3 系统输出语句中。条件之前
  • 我无法编辑 DevMode.class;它不允许任何更改。如果我遗漏了一些明显的东西,我对此很抱歉。问候,格林
  • 我已经能够对运行此程序时闪现的页面进行 PrtScn。消息是“00:00:00:005 [WARN] Unable to process 'file:/C:/Users/Glyndwr/Eclipse/Workspace/AwardTracker/war/WEB-INF/web.xml' 用于 servlet 验证 - 异常: SAXPars" ...其余部分在页面末尾。
  • 答案是 WEB.xml 的顺序不正确。请参阅上面的正确 WEB.xml。
猜你喜欢
  • 2015-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多