[053] 微信公众平台开发教程第23篇-SAE不支持XStream框架的解决方案

问题描述

最近几天(2014年8月20日之后),突然有不少网友反应,柳峰博客中的微信公众平台开发代码在SAE上运行会报错,或者是能正常部署,但向公众号发消息没反应。以前也有一些初学者质疑过我博客中的代码是否能正常运行,最后都被我一一证明是由于他们的不理解和粗心导致,但这一次短短几天就有很多人反应同样的问题,这就引起了我的足够重视。对于这种“同样的代码以前可以正常运行,现在却不能运行”的问题,我猜测可能是程序运行环境发生了某种变化,应该是SAE近期做了什么更新导致的。


问题分析

如果Java Web项目中使用了日志工具log4j或者slf4j,并且设置了将日志输出到控制台(console),那么在项目部署到SAE之后,可以在SAE网站的“日志中心”看到应用的相关日志。查看HTTP服务error级别的日志,能够看到如下图所示的错误日志:


为了方便查看和讲解,我对上述错误日志进行了格式化处理,结果如下:

101.226.62.83 [27/Aug/2014:17:23:10 +0800] JAVA_SAE_Fatal_error: 
Error for /coreServletjava.lang.NoClassDefFoundError: Could not initialize class org.liufeng.weixin.util.MessageUtil	
at org.liufeng.gywodejia.service.CoreService.processRequest(CoreService.java:40)	
at org.liufeng.gywodejia.servlet.CoreServlet.doPost(CoreServlet.java:54)	
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)	
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)	
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:538)	
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478)	
at com.sina.sae.servlet.SaeServletHandler.doHandle(SaeServletHandler.java:49)	
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)	
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517)	
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)	
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:937)	
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)	
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)	
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:871)	
at com.sina.sae.webapp.SaeWebAppContext.doScope(SaeWeb
  • 46
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 115
    评论
评论 115
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值