写在最前面:sae新浪云相比交bae还是有诸多限制的。比如jdk版本,对java许多框架支持不够,但并不影响其使用。现就本人上传到sae的项目遇到的问题进行汇总分析。
问题1:
查看日志后主要报错是:Unsupported major.minor version 51.0
这个是因为jdk版本错误,因为我本地使用的是1.7,而sae目前不支持1.7。
在win7下开发项目是使用的jdk版本和项目运行服务器jdk版本不同就会出现上面的问题。
解决方法:因为很多linux系统还不支持jdk1.7,所以要尽量避免使用jdk1.7开发程序,我将win7下的jdk重装为jdk1.6,然后将项目的java compiler改为jdk1.6,对项目进行重新编译问题就解决了。
修改项目java compiler的方法:在项目点右键->选择Perperties->在出现的菜单中选择Java Compiler->最上面选中Enable project Specific setting->然后将jdk改为jdk1.6->完成。
问题2: JAVA_SAE_Fatal_error: unavailable javax.servlet.UnavailableException
该问题是由于war包中的servlet-api.jar和sae上面的不同导致的,解决办法是打包完成后,以压缩包的形式进入war包,找到servlet-api.jar删除后再上传到sae上面即可。
下附其它问题的解决办法
原文地址:http://cloudbbs.org/forum.php?mod=viewthread&tid=19717&extra=page%3D1
经常看到有人反馈自己的java应用503了,搜了下之前的帖子,总结下可能造成503的原因。 1.JDK版本问题,,sae支持的jdk是1.6 http://cloudbbs.org/forum.php?mod=viewthread&tid=19040 2.ssh配置问题 参考置顶帖:分享两个在SAE Java上跑的框架demo(ssh2和springmvc+mybatis) http://cloudbbs.org/forum.php?mod=viewthread&tid=5175 3.jar包冲突 http://cloudbbs.org/forum.php?mod=viewthread&tid=15594 http://cloudbbs.org/forum.php?mod=viewthread&tid=14876 上传war包之前可以把sae提供的哪些jar包删除(线上环境有),大部分503都是因为这个引起的,删除冲突的包即可。 很多用户是因为servlet.jar这个冲突,记得删除。 4.多版本删除后,造成jetty没有启动成功 参考:http://cloudbbs.org/forum.php?mod=viewthread&tid=3148 2个版本为佳,一个测试,一个线上。 |