System.getProperty("catalina.home") :Tomcat 安装目录,一般是用来查找库 jar 的。
System.getProperty("catalina.base"):服务器配置目录,所有配置文件都在这里,你可以用一个catalina.home 来启动两个命令行来运行两个不同的 catalina.base 配置(前提你已经修改了配置文件保证它们的端口不会冲突)。
Tomcat目录结构如下:
bin (运行脚本)
conf (配置文件)
lib (核心库文件)
logs (日志目录)
temp (临时目录)
webapps (自动装载的应用程序的目录)
work (JVM临时文件目录[java.io.tmpdir])
当在 eclipse 里面运行时,多数情况下 cataline.home 还是 tomcat 目录,而 catalina.base 是 eclipse workspace 里面的一个目录,你现在需要拿到的应该是工作时的配置目录下的子目录,所以你应该用 catalina.base 当成根目录;比如,我想读取 tomcat user 文件,得到的结果相当于 ${cataline.base}/conf/tomcat-users.xml(必须是WEB程序才有效)