Java执行环境使用OpenJDK 7 JVM来运行Java应用,支持Java Servlet和标准MySQL JDBC接口,为保证应用兼容性建议使用和Java 7兼容的库。Servlet容器为Jetty,当前版本为9.0.5.v20130815,可参考jetty官网
BAE3.0的Java执行采用原生的Jetty与用户本地的开发环境基本一致,能够支持多war包或目录。用户的应用在本地能够运行,在线上就能够良好地运行。需要注意的是线上的MySQL不支持长连接。
BAE3.0的Java执行环境不再内置任何jar包,所有依赖的第三方jar包都用户需要自己上传。用户可以通过SVN或GIT上传war包或者目录。war包或者目录需要符合规范,目录结构如下图所示:开发指南
BAE3.0中JavaRuntime支持多应用,用户可以上传多个war包或目录,主域名使用root.war,其他war包或目录的访问需要在主域名后加上代码目录的路径,如code.war或code目录的访问:xxx.duapp.com/code/。
本地开发使用eclipse开发
下载eclipse
打开eclipse,新建Dynamic Web Project
开发完成后,打成war包,File->Export->WAR file, 保存为root.war,通过svn或git上传到BAE使用maven开发
创建web应用:mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp
开发完成后打成war包:mvn install
将target中的war包更名为root.war上传到bae运行时参数
JVM的运行时参数:-Xmx256m, -XX:MaxPermSize=64m 。后续会提供配置文件,供开发者配置JVM的参数。
Jetty只加载了最基本的jetty-http和jetty-deploy模块。环境限制
BAE3.0中Java Runtime已经不再有任何白名单和沙盒限制,只要war包符合标准war包规范就能在BAE3.0中运行良好。