Java 如何获取项目中文件的相对路径?

Java 如何获取项目中文件的相对路径?,java,jsp,servlets,Java,Jsp,Servlets,我正在使用jsp/servlet创建一个项目,在这个项目中,我试图在项目本身内部创建java文件和类文件。但是我只能在我的系统上这样做,因为我给他们的路径是:C:\Users\MySystem\Desktop\Test\…,它只对我的系统有效。如果我必须在另一个系统中运行这个项目,我应该怎么做才能不必一次又一次地更改路径。如果是maven项目,只需将您的资源文件放在src/main/resources 你可以用这句话来读 String path = Thread.currentThread().

我正在使用jsp/servlet创建一个项目,在这个项目中,我试图在项目本身内部创建java文件和类文件。但是我只能在我的系统上这样做,因为我给他们的路径是:C:\Users\MySystem\Desktop\Test\…,它只对我的系统有效。如果我必须在另一个系统中运行这个项目,我应该怎么做才能不必一次又一次地更改路径。

如果是maven项目,只需将您的资源文件放在
src/main/resources
你可以用这句话来读

String path = Thread.currentThread().getContextClassLoader()
                    .getResource("yourFileName").getPath();
System.out.println(path);
或者用这种方法你也能做到

String pathOfTheFile = getServletContext().getResource("yourFile").getPath();

别忘了把文件放在
webcontent
webapp
文件夹下

可能是重复的,我想这是不一样的,或者我没有得到它。我讨厌在问题中看到“请暂停!11”。您应该明确阅读以下内容:在
HttpServlet
中,您可以使用
this.getServletContext().getRealPath(“”)来获取部署的servlet的根目录。不确定它是否也适用于jsp。