Java 从部署的web应用程序获取Tomcats webapps目录中文件的相对路径
我正在TOMCAT上部署一个GWT webapp,它已成功部署,war文件位于webapps目录中。现在,应用程序需要访问文件C:\apache-tomcat-7.0.42\webapps\TestHarness\modxml.xml。当我提到相对路径,即..\TestHarness\modxml.xml时,应用程序无法找到该文件。。Java 从部署的web应用程序获取Tomcats webapps目录中文件的相对路径,java,gwt,tomcat,Java,Gwt,Tomcat,我正在TOMCAT上部署一个GWT webapp,它已成功部署,war文件位于webapps目录中。现在,应用程序需要访问文件C:\apache-tomcat-7.0.42\webapps\TestHarness\modxml.xml。当我提到相对路径,即..\TestHarness\modxml.xml时,应用程序无法找到该文件。。 路径应该是什么,这样我的应用程序才能获得modxml.xml文件。我建议从类路径作为资源访问此文件,而不是直接通过文件系统访问。将文件添加到类路径上的目录,例如源
路径应该是什么,这样我的应用程序才能获得modxml.xml文件。我建议从类路径作为资源访问此文件,而不是直接通过文件系统访问。将文件添加到类路径上的目录,例如源文件夹中的包。然后使用以下代码访问该文件:
File file = null;
try {
file = new File(this.getClass().getResource("modxml.xml").toURI());
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
尽管我不推荐这种方法,但您可以使用request.getServletContext.getRealPath/从HttpServletRequest获取应用程序的位置。您可以将此值存储在字符串中,然后将路径添加到file的后缀,并在file的构造函数中使用它。关于/TestHarness/modxml.xml呢?我的web应用程序需要访问位于文件夹TestHarness中的modxml.xml文件,而TestHarness位于包含.war文件的同一文件夹中。确定,在这种情况下,调用/TestHarness/modxml.xml应该可以解决您的问题。@MayurJadhav您是从servlet访问文件的吗?是的,我是通过servlet访问的。。