tomcat shared jar包

Tomcat下项目很多,每个项目都重复使用了很多相同的jar包,那么设置jar包共享可以节省Tomcat装载程序的内存开支。

tomcat jar 共享

    在Tomcat下设置多项目jar共享常见的有两种方法。这两种方法的共同点是修改tomcat下conf目录中的catalina.properties文件。

    第一种方法:修改catalina.properties中的common.loader属性。在common.loader属性原值基础上追加“,${catalina.home}/lib/shared/*.jar”,然后启动tomcat。很显然,需要将共享的jar包放到一个shared目录里,然后将shared目录放到tomcat下lib目录里。

    第二种方法:修改catalina.properties中的shared.loader属性。设置shared.loader属性值为${catalina.base}/shared/*.jar,然后启动tomcat。同样需要将共享的jar包放到shared目录下,不过这次是将shared目录放到了tomcat安装目录下。

    说到这会有人疑惑,共享的jar包必须放到自建的shared目录下吗?shared目录的位置必须按照上述的内容存放吗?当然不是的,上述两种方法,对共享jar包的目录及位置没有任何限制,只不过这里为了方便管理和说明,统一归置到了tomcat安装目录下,你完全可以放到别的地方,使用绝对路径引用亦可。

    有人会问,common.loader和shared.loader有什么区别?可以拜读下面的链接内容。

http://blog.sina.com.cn/s/blog_4db5ab6701013kuw.html

    我觉着使用shared.loader更合适,更符合应用场景。

共享jar包遇到问题1:

直接把两个项目的jar都复制在同一个目录,

启动tomcat。

但出现错误:

 

…….WEB-INF/lib/struts2-core-2.3.2..jar!/struts-default.xml:71:140

Caused by: Unable to load bean: XXXX 对象

 

结论:

jar包有重复!删掉重复jar包即可。

而且不能有不同版本的jar包,如

aaaa_1.1.jar

aaaa_1.2.jar

需要删掉1.2或者删掉1.1

但要与其他jar包版本适配。

 

 

 

共享jar包遇到问题2:

1,个是spring mvc+hibernate (spring 3.2.3)

2. ssh

而且spring 的版本还不一样, (spring 4.0.2)

不过spring最强大的竟然是向下兼容,

去掉重复的jar包之后,

发现 springmvc  项目,多了以下两个jar包

1. common_dhcp

2.common_pool

补充完就可以了。

完美启动,

非堆内存减少了几十M,效果可以。

转载于:https://my.oschina.net/bquan/blog/405284

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值