今天挂了个java demo到sae上去,可是无论本地怎么运行的好好,到sae上就是不能运行....错误如下
Error 404 - Not Found.
No context on this server matched or handled this request.
Contexts known
to this server are:
- /1/henglicashmere ---> c.s.s.w.SaeWebAppContext{/1/henglicashmere,file:/data1/jetty_work/476/henglicashmere/jetty-0.0.0.0-10001-henglicashmere.war-_1_henglicashmere-any-/webapp/},/data1/www/htdocs/476/henglicashmere/1/henglicashmere.war [failed]
- /henglicashmere/1 ---> c.s.s.w.SaeWebAppContext{/henglicashmere/1,file:/data1/www/htdocs/476/henglicashmere/1/},/data1/www/htdocs/476/henglicashmere/1
由于好几年不碰java,心虚,只能一点一点修改尝试,最后发现大致规律是:web.xml不配置任何servlet相关内容,sae能正常部署,web.xml配置错误的servlet-class(class不存在),sae能正常部署;一旦配置了一个正确的servlet-class,就会出现上面的错误...
只能上sae论坛求助,发帖的同时发现又看了遍sae
java的文档,发现“SAE Java 环境以 OpenJDK
1.6 和 Jetty 7.4 为基础构建而成,平台运行在CentOS-6.x
64位Linux环境下。”
会不会是jdk的版本问题?因为我本机是1.7的jdk,好吧,装了个1.6的jdk,重新编译生成war包上传,果然妥了!
这么个问题折腾了我差不多一下午,实在是不应该,看来以后看文档真得得再细心一点。