在我的应用程序中,我有一个功能,我需要在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:\用户\ SanWin \ workspace.metadata.plugins \ org.eclipse.wst.server.core \ TMP0 \ wtpwebapps \ RoleAccessControl \数据\ ActivityLog.txt
我不知道系统如何获得这一行
.metadata.plugins \ org.eclipse.wst.server.core \ TMP0 \ wtpwebapps \
这是在日食中,我期待着类似的东西 的 C:\用户\ SanWin \工作空间\ RoleAccessControl \数据\ ActivityLog.txt
如何获得我想要摆脱线条的真实路径(.metadata.plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps),我看起来并且做了我在网上看到的所有可能,但是失败了,对不起,如果我发了一个重复的帖子,请原谅我 感谢您的时间和回复
答案 0 :(得分:2)
在Eclipse的Servers视图中,您可以双击服务器以打开配置屏幕,该屏幕允许您设置不同的部署路径(至少在Tomcat中)。请注意,您只能在未部署任何内容时修改该设置,否则您将看到灰色显示的选项。
您获得的.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\
是因为您拥有使用工作空间元数据选项。
无论如何,如果您将战争直接手动部署到Tomcat webapps文件夹中,而没有Eclipse,您将获得正确的路径。
换句话说,您的代码是正确的并且为您提供了正确的路径,您只是不喜欢部署应用程序的路径。
希望这有帮助。