由于Tomcat5.5 与Tomcat 6.0中加载方式的不同, 导致在5.5中常用的shared目录不能再使用了,
而该目录存在的意义在于我们可以配置Tomcat通用的环境变量目录,且保证每个web应用都可能加载该目录里面的配置文件或者jar文件.
一个最常用的示例为: 在服务器上我们不希望每次去更新配置文件(如database.properties).而在开发中配置文件往往在项目根路径,
也就是war包的classes目录里面. 由于开发环境与发布环境里面的配置往往不一致, 会导致每次部署时总要去修改配置文件内容(如数据库用户名密码等).
另一方面,出于安全考虑,可能服务器上的某些配置并不需要开发人员知道. 但配置文件在开发时往往是必须的.
这该如何做呢? 也许有人想: 直接用Tomcat5.5,不用Tomcat6.0不就行了吗?? 这是解决问题的办法???
为什么旧版本(5.5)有的功能新版本(6.0)不会用呢? 这才是正解...
以下是在Tomcat6.0中配置shared目录的步骤与要点:
1. 在Tomcat6.0根目录下建立shared文件夹(这是当然的喽) ,见下图:
2. 进入conf目录.设置catalina.properties文件中shared.loader的值为${catalina.base}/shared. 如下图:
OK...现在把web应用中的所有配置文件(如database.properties; mail.properties). 复制到shared目录.
把war文件中的配置文件删除(使用maven生成war包配置<excludes><exclude>*.properties</exclude> </excludes>即可),
再重启试试看. 发生了什么 ....
再也不要为每次发布时修改配置文件烦恼了....