如先前的回答所述,App EngineSDK支持打包
WEB-INF/classes到jar文件中,该文件将以结尾
WEB-INF/lib/_ah_webinf_classes-0000.jar。你可以激活这个
使用带有选项的appcfg工具
--enable_jar_classes
。通过配置WAR或EAR项目的属性来使用Google Eclipse插件:项目属性> Google App Engine>部署>“将WEB-INF /类打包为jar”
对我而言,在App Engine 1.9.4上,这仅导致实例启动方面的微小改进(约5-10%,如果有的话)。
请注意,这会将 所有 文件打包在WEB-INF /
classs中(不仅是.class文件)。更改之后,在实例化过程中收到一条错误消息,内容是不再能够读取logging.properties文件;可能是因为当时尚未读取新的jar文件:
Unable to read the java.util.logging configuration file, WEB-INF/classes/logging.properties
解决方法是,我将appengine-web.xml中的路径更改为,
WEB-INF/logging.properties并配置了maven-war-
plugin将文件复制到该位置:
<webResources> <resource> <directory>lib</directory> <targetPath>WEB-INF/lib</targetPath> </resource> <resource> <!-- Workaround: During GAE deployment, all files in WEB-INF/classes will be packaged into WEB-INF/lib/_ah_webinf_classes-0000.jar, which prevents the logging.properties referenced in appengine-web.xml from being read. --> <directory>src/main/resources</directory> <includes> <include>logging.properties</include> </includes> <targetPath>WEB-INF</targetPath> </resource> </webResources>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)