1

在我的应用程序中,我有一个函数,我需要在 webcontent 文件夹中写入一个文件,我有一个名为 data 的文件夹,我需要写一个新名称,如果我给出了真实路径( C:\Users\SanWin\workspace\ RoleAccessControl\data\ActivityLog.txt)它写入文件但是当项目要在不同的机器上运行时这必须改变,所以我用它来获取真实路径

ServletContext ctx = getServletContext();
        String path = ctx.getRealPath("/data/ActivityLog.txt");
        System.out.println(path);

当我打印时,我在控制台中收到以下消息

C:\Users\SanWin\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\RoleAccessControl\data\ActivityLog.txt

我不知道系统是如何得到这条线的

.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\

这是在 Eclipse 中,我期待像 C:\Users\SanWin\workspace\RoleAccessControl\data\ActivityLog.txt这样的东西

如何获得我想要摆脱线条(.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)的真实路径,我查看并做了我在互联网上看到的所有可能,但失败了,抱歉如果我发了重复的帖子,请原谅我感谢您的时间和回复

4

1 回答 1

2

在 Eclipse 的 Servers 视图中,您可以双击您的服务器以打开一个配置屏幕,该屏幕允许您设置不同的部署路径(至少在 Tomcat 中)。请注意,您只能在没有部署任何内容时修改该设置,否则您将看到选项灰显。

在此处输入图像描述

.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\你得到的是因为你有使用工作区元数据选项。

无论如何,如果您将您的战争直接手动部署到 Tomcat webapps 文件夹中,而不使用 Eclipse,您将获得正确的路径。

换句话说,您的代码是正确的并且为您提供了正确的路径,您只是不喜欢您的应用程序的部署路径。

希望这可以帮助。

于 2012-08-31T22:28:39.500 回答