我正在maven web应用程序中工作。我需要读取一个目录(例如:文件)在我的WebApp文件夹,如下所示,如何读取Maven Web应用程序的webapp文件夹中的目录
Java.io.File file = new Java.io.File("path");
但我不知道怎么在这里指定目录的路径。
我正在maven web应用程序中工作。我需要读取一个目录(例如:文件)在我的WebApp文件夹,如下所示,如何读取Maven Web应用程序的webapp文件夹中的目录
Java.io.File file = new Java.io.File("path");
但我不知道怎么在这里指定目录的路径。
你不应该给本地路径地址。路径应该是相对地址,例如(.war)文件夹下的/files/images
。
要正确使用相对路径,我建议你到目标文件夹添加到pom.xml中的资源definiton,请浏览网页 http://www.mkyong.com/maven/how-to-change-maven-resources-folder-location/ http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
你可以参考资源文件夹轻松地像这样的东西:
this.class.getResource("Mydirectory/SubDirectory");
如有疑问亲戚路径是如何工作的,它总是最好做这样的事情:
System.out.println(new File("/my/desired/directory").getAbsolutePath());
这将打印出类路径将查找文件的路径。
假设:
/var/lib/tomcat6/webapps
my-webapp.war
你应该看到下面的输出:/var/lib/tomcat6/webapps/my-webapp/my/desired/directory
另一个指针:你提到你正在寻找webapp
目录。我希望你知道这个目录不会以*.war
- 结尾,它的内容将会是。
我使用Glassfish作为Web服务器 – Prince 2012-02-17 09:56:14
战争文件在部署到应用程序服务器时并不总是展开,因此文件系统中可能不存在相对路径,全部为。
最好的选择是使用类加载器的getResource,它将返回类路径(WEB-INF/lib目录等)中的东西,或者使用ServletContext的getResource()方法在Web应用程序中查找事物本身。
这个问题与Maven有什么关系? – 2012-02-17 09:59:59
我正在从事ina maven web应用程序。因此,在Maven工作的人会知道Maven应用程序中的文件夹层次结构。 – Prince 2012-02-17 10:03:15
你认为web-app目录结构(部署在服务器上)与你的maven目录结构相同是错误的 – 2012-02-17 10:05:33