浪子逍遥遥
2017-06-01 17:40:26
java web项目发布到tomcat时配置不打包jar的方案记录
每次更新部署项目,打包上传的war包因为依赖很多jar包,所以显得非常大.等待上传就要花费很多时间了.找了些资料,发现可以通过设置tomcat的shared.loader加载项目依赖的jar包.
一.配置tomcat
1.创建依赖jar包的存放目录shared(名字路径自取),然后把依赖相关的jar复制进去
2.修改tomcat目录下conf/catalina.properties文件,把shared.loader属性修改如下:shared.loader="${catalina.home}/lib/shared","${catalina.home}/lib/shared/*.jar"(我存放的是tomcat的lib目录下)
二.项目配置
1.普通web项目的配置
1).部署移除jar包
项目右键Properties,找到如下:
2).部署,通过myeclipsenei内置tomcat部署或者war打包部署.项目里面是不再包含依赖的jar包,项目启动成功
2.maven项目配置
1).<dependency></dependency>配置直接加上<optional>true</optional>,配置如下:
2).maven打包
三.结果
打包结果如下:ssm.war打包后26+Mb,demo-ssm打包后只有15kb,都能正常部署
四.问题
1.优点:多个项目相同jar包的话,tomcat启动加载一次就够了,而不需要每个项目都加载一次,能有效防止tomcat多次加载项目中重复的jar包,造成内存溢出异常;
2.缺点:每次启动tomcat都会加载jar包,如果项目不依赖的话,就多余了.
建议把一些公共经常用到的jar包可以这么做.
评论
最近浏览
wangshiwei123 LV1
2020年8月30日
有时候简简单单就好了 LV4
2020年6月30日
ideathink LV8
2020年4月20日
lryepoch LV7
2020年4月6日
爱疯大魔王 LV1
2020年2月24日
Nash13
2019年7月7日
暂无贡献等级
wangchuanli LV5
2019年4月23日
z875152686 LV8
2019年4月4日
胡子小猿
2018年11月13日
暂无贡献等级
cszfgjj2018
2018年9月17日
暂无贡献等级