背景:
linux使用ANT编译java类并部署到Tomcat下,然后使用脚本(deploy.sh)开启 Tomcat,脚本如下:
deploy.sh(其绝对路径为:/usr/local/myapp/deploy.sh)
1/usr/local/apache-tomcat-5.5.20/bin/shutdown.sh
2ant
3/usr/local/apache-tomcat-5.5.20/bin/startup.sh
4
其中各行的意义:
(1)关闭tomcat
(2)编译java类并部署到tomcat
(3)开启tomcat
这里使用的命令都是绝对路径运行的。
问题来了:
(1)在项目中安排了log4j的日志输出到myapp.log,其路径写 法:../log/myapp.log;启动服务器的时候在catalina.out中输出错误信息, 说../log/myapp.log没有找到。
(2)在程序中使用了output/files/,程序完成后很难才找到文件,因为其位 置并不像在window下调试时一样,最后使用 find -name output -type d 命令才找到,发现原来这个文件夹所在的位置就是在:/usr/local/myapp/下面 。
倪端初现:
可见,使用脚本开启tomcat时如果以绝对路径的方式去开启的话,那么在程 序中的相对路径就会以脚本的当前目录作为路径的起始点。这样就导致了在文件 的位置上出现变化,使得文件管理出现困难甚至对已有的文件造成破坏。
时间: 2024-11-03 18:39:11