SAE Java相关问题小结
转自:http://blog.csdn.net/bhq2010/article/details/8580412
Sae中使用的servlet容器是jetty7.4.x
我想在web.xml中配置一个自己编写的servlet,实现web启动时的初始化工作,但是总是出现各种问题,下面总结了一下在sae中使用java的一些注意事项:
1、在eclipse中开发java web项目时,我总喜欢直接把需要的jar包复制到WEB-INF/lib下,但在开发sae项目时,最好把需要的jar包放到usr library里,然后将usr library添加到工程的build path中,这样不会把jar包打到war文件中。其实sae在jvm中实际加载的jar包并不是war中包含的jar包,所以在war中包含jar包也是浪费上传时间,还会造成不必要的麻烦(我发现如把servlet-api-2.5.jar打到war中上传后,web就没法正常启动)
2、本地的jar包最好与sae所支持的jar包版本一致或接近,不然的话你用的很happy的东西可能在sae上根本不支持。sae上支持的jar包参见:http://sae.sina.com.cn/?m=devcenter&catId=310,有些jar包在这里面没有列出来,比如servlet-api-2.5.jar,由于jetty7.4.x中用的时2.5的,自然也就应该在本地用这个版本的jar包
3、jre版本,在本地开发时,要注意jre的版本。sae中支持的时1.6,而且不是最新的1.6,如果sae的jvm日志中报Unsupported major.minor version 51.0类似的错,很可能是本地的jre版本过高了,在eclipse中,在web工程的属性->java compiler选项中设置目标jre版本,最好是1.5的(最新的1.6,sae也不支持),重新打war包上传、重启jvm即可
4、sae的jvm日志貌似有时候更新的比较迟缓,所以不要完全信赖这个日志。此外,在java中用System.out打印出的消息在jvm日志的notice类型中可以看到。
5、实测,sae中jvm启动大约需要20-30秒,一个jvm如果2-3小时没有被访问就会被回收,全部jvm被回收之后,有访问时系统会再次启动jvm,但会有大约1分钟的延迟(越大的应用可能延迟越大)。
SAE Java相关问题小结的更多相关文章
- 找工作--Java相关
Hi 各位 首先自我描述一下,80后程序员,现在在做Eclipse插件开发. 求Java相关职位(Java/Swing/Eclipse Plugin/Python etc), 或者Linux下C相关职 ...
- 收集一些java相关的文章
有些文章看了,以后想再看已经忘了在哪里了.故在此一一记录下那些值得看的文章. 1:如何确定Java对象的大小 中文版本 :http://article.yeeyan.org/view/104091/6 ...
- 分享一些JAVA相关资源
前言 以前在学习JAVA时,因为搜索相关资源过于不便,所以在搜集了一些好用的资源之后,将此分享. 文档主要包括面试文档, JAVA的技术文档(如JAVA并发实战.设计模式之类),LINUX的相关文档以 ...
- java并发包小结(二)
接上一篇 java并发包小结(一):http://blog.csdn.net/aalansehaiyang52/article/details/8877579 Future 接口Future 接口允许 ...
- 【java】Java相关学习参考链接(持续更新)
How to do in java,https://howtodoinjava.com/,Java手册,分版本,并且有每个版本的新特性的详细解析. Java World,https://www.jav ...
- 官网下载java相关资源
官网下载java相关资源 官网地址:http://www.oracle.com 一.下载JDK 1.首先进入Downloads >> Java For Developers,如图 2.点击 ...
- Java相关PDF书籍与教程免费下载
场景 我的CSDN: https://blog.csdn.net/BADAO_LIUMANG_QIZHI 我的博客园: https://www.cnblogs.com/badaoliumangqizh ...
- Awesome Java: Github上关于Java相关的工具
Awesome Java 这是Github上关于Java相关的工具,框架等等资源集合. 原文参考: https://github.com/akullpp/awesome-java. @pdai 最全的 ...
- java IO 流小结
java IO 流小结 java流类图结构 流的分类 按方向 输入流 输出流 按类型 字节流 字符流 结论:只要是处理纯文本数据,就优先考虑使用字符流. 除此之外都使用字节流.
随机推荐
- WebSocket 是什么原理?为什么可以实现持久连接?
https://www.zhihu.com/question/20215561 作者:Ovear链接:https://www.zhihu.com/question/20215561/answer/ ...
- SQL注入小结
分类学习有利于条理化知识,大致的SQL注入分为三种: 1.BealeanBase 2.TimeBase 3.ErrorBase 1.从最简单的说起,基于布尔类型是最常见的SQL注入方式 select ...
- B0BO TFS 安装指南(转载)
TFS2008安装过几次,每次都遇到点麻烦,结合网上的一些经验总结一下: Windows SharePoint Services 安装 Windows SharePoint Services你有两个选 ...
- Linux 解压命令tar的理解
今天回顾了下tar 这个打包工具的一些常用参数 选项与参数: -c :创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename) -t :察看打包文件的内容含有哪些档名,重点在察看『档名 ...
- PHP访问数据,增删改
主页面 <h1>主页面</h1> <table width="100%" border="1" cellpadding=" ...
- [Effective JavaScript 笔记]第41条:将原型视为实现细节
对象原型链 一个对象给其使用者提供了轻量.简单.强大的操作集.使用者与一个对象最基本的交互是获取其属性值和调用其方法.这些操作不是特别在意属性存储在原型继承结构的哪个位置.随着时间推移,实现对象时可能 ...
- select function in ruby
http://ruby-doc.org/ http://ruby-doc.org/core-2.3.0/Array.html#method-i-select [1,2,3,4,5].select { ...
- BZOJ 1455
STL的基本用法 (居然能空间卡过去= =!!!) #include <cstdio> #include <ext/pb_ds/priority_queue.hpp> #inc ...
- PHP日期格式转时间戳
PHP 提供了函数可以方便的将各种形式的日期转换为时间戳,该类函数主要是: strtotime():将任何英文文本的日期时间描述解析为时间戳. mktime():从日期取得时间戳. strtotime ...
- 编译 uImage
编译 uImage 和测试 u-Boot - 小猪爱拱地 - 博客频道 - CSDN.NET http://blog.csdn.net/caspiansea/article/details/38057 ...