System.getProperty("user.dir")无法工作

4
我需要从我的项目中获取相对路径以上传照片,但是当我在测试中运行System.getProperty("user.dir");时,它返回/home/user/workspace/Myproject,但如果我从我的Spring控制器中运行它,它只会返回/home/user。 有人可以提供可能正在发生的见解吗?
1个回答

19

user.dir属性是您运行Java时的当前工作目录。当您运行项目时,在/home/user/workspace/Myproject中启动了Java,但是当Spring运行它时,不一定是相同的工作目录。您是否想要使用user.home(应始终为/home/user)代替?


不,我需要获取项目路径,无论项目在哪台电脑上。 - Danilo M.
@DaniloM。在这种情况下,你应该看一下getResource()。它允许你读取项目目录内的文件。这里有一个相关的问题:https://dev59.com/AE7Sa4cB1Zd3GeqP7_Tm - Jon Lin
3
我使用了String path = request.getSession().getServletContext().getRealPath("/");解决了我的问题,其中的request是一个HttpServletRequest对象。谢谢! - Danilo M.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接