是我啊的gravatar头像
是我啊2017-06-01 17:40:26
java web项目发布到tomcat时配置不打包jar的方案记录

每次更新部署项目,打包上传的war包因为依赖很多jar包,所以显得非常大.等待上传就要花费很多时间了.找了些资料,发现可以通过设置tomcat的shared.loader加载项目依赖的jar包.

一.配置tomcat

1.创建依赖jar包的存放目录shared(名字路径自取),然后把依赖相关的jar复制进去

java web项目发布到tomcat时配置不打包jar的方案记录

2.修改tomcat目录下conf/catalina.properties文件,把shared.loader属性修改如下:shared.loader="${catalina.home}/lib/shared","${catalina.home}/lib/shared/*.jar"(我存放的是tomcat的lib目录下)

java web项目发布到tomcat时配置不打包jar的方案记录

二.项目配置

1.普通web项目的配置

1).部署移除jar包

项目右键Properties,找到如下:

java web项目发布到tomcat时配置不打包jar的方案记录

2).部署,通过myeclipsenei内置tomcat部署或者war打包部署.项目里面是不再包含依赖的jar包,项目启动成功

java web项目发布到tomcat时配置不打包jar的方案记录

java web项目发布到tomcat时配置不打包jar的方案记录

 

2.maven项目配置

1).<dependency></dependency>配置直接加上<optional>true</optional>,配置如下:

java web项目发布到tomcat时配置不打包jar的方案记录

2).maven打包

java web项目发布到tomcat时配置不打包jar的方案记录

 

三.结果

打包结果如下:ssm.war打包后26+Mb,demo-ssm打包后只有15kb,都能正常部署

java web项目发布到tomcat时配置不打包jar的方案记录

 

四.问题

1.优点:多个项目相同jar包的话,tomcat启动加载一次就够了,而不需要每个项目都加载一次,能有效防止tomcat多次加载项目中重复的jar包,造成内存溢出异常;

2.缺点:每次启动tomcat都会加载jar包,如果项目不依赖的话,就多余了.

建议把一些公共经常用到的jar包可以这么做.

分享到:

最近浏览
9587218946月26日
暂无贡献等级
kelvencheung6月20日
暂无贡献等级
沐宇熙6月19日
最代码贡献等级说明
zibeike9986月19日
最代码贡献等级说明
sunliwei6月16日
暂无贡献等级
风自在6月16日
最代码贡献等级说明
暂无贡献等级
暂无贡献等级
小散123_San6月14日
最代码贡献等级说明
mystery-human6月14日
最代码贡献等级说明
153405342236月14日
暂无贡献等级
weiwoduzun196月14日
暂无贡献等级
CyanAnkh6月14日
暂无贡献等级
lqnasa6月13日
最代码贡献等级说明
jtj23774876月13日
最代码贡献等级说明
qq9448098106月13日
最代码贡献等级说明
alianlyy6月12日
暂无贡献等级
清夜微凉6月11日
暂无贡献等级
xxxxssss6月10日
暂无贡献等级
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友