我已经在Java上使用Java Servlet框架与Tomcat结合使用了近六年了。每当我在eclipse中配置tomcat来运行任何基于Servlet的框架(主要是Struts2 / Struts1)并尝试访问磁盘上的路径(例如设置日志文件路径)时,我认为“/”表示C:或者运行tomcat的驱动器(我总是在Eclipse中使用tomcat的外部安装)。 但是最近我的tomcat选择了D:作为路径的根驱动器(/ var / data / logs)。现在它再次选择C:作为“/”的根驱动器,即使我的Tomcat和Eclipse安装在D上运行:在这些场景中我们引用“/”时不确定如何选择根驱动器。 每当我在路径中引用“/”时,我总是选择D:作为我的根驱动器。
当然我不想编写代码来检查当前操作系统,然后决定使用的路径(如“/”或C:/ D:等)
答案 0 :(得分:1)
它就像在命令行中一样工作。
如果在命令行中,您在目录c:\foo\bla
并输入cd \
,则会转到c:\
。如果您在d:\foo\bla
目录中并输入cd \
,则会转到d:\
。因此,路径取决于执行java命令启动tomcat时的位置。
如果你总是希望在d:\上,那么确保用于启动tomcat的.bat文件在执行d:
命令之前进入java
驱动器。
让构建系统根据目标部署平台生成适当的绝对路径会更简单,更可靠:在为Windows生成战争时使用d:\ var \ data \ logs,并使用/ var / data /为另一个操作系统生成战争时记录。