我在 Windows 上使用 Eclipse 与 Java Servlet 框架和 Tomcat 相结合已经将近六年了。每当我在 eclipse 中配置 tomcat 以运行任何基于 Servlet 的框架(主要是 Struts2/Struts1)并且我试图访问磁盘上的路径时,例如从 servlet 设置日志文件路径,我假设“/”表示 C: 或运行 tomcat 的驱动器(我总是在 Eclipse 中使用外部安装的 tomcat)。 但是最近我的 tomcat 选择 D: 作为路径 (/var/data/logs) 的根驱动器。现在它再次选择 C: 作为“/”的根驱动器,即使我的 Tomcat 和 Eclipse 安装在 D: 上运行。不确定在这些情况下每当我们引用“/”时如何选择根驱动器。 每当我在我的路径中引用“/”时,我总是希望选择 D: 作为我的根驱动器。
当然我不想写一个代码来检查当前的操作系统,然后决定使用的路径(比如“/”或 C:/D: 等)
最佳答案
它的工作方式与在命令行中一样。
如果在命令行中,您位于目录 c:\foo\bla
并键入 cd\
,您将转到 c:\
。如果您在目录 d:\foo\bla
中并键入 cd\
,您将转到 d:\
。所以,路径取决于你执行启动tomcat的java命令时所在的位置。
如果你总是想在 d:\上,那么确保用于启动 tomcat 的 .bat 文件在执行其 java
命令之前转到 d:
驱动器.
不过,让您的构建系统根据目标部署平台生成适当的绝对路径会更简单、更可靠:在为 Windows 生成 war 时使用 d:\var\data\logs,并使用/var/data/为另一个操作系统生成 war 时记录。
关于eclipse - 每当我们在路径中引用 "/"时,我们能否将 tomcat/servlet/java 配置为选择 windows 根驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21508597/