gpt4 book ai didi

java - 如何通过 Java File api 加载 Tomcat 中的资源

转载 作者:行者123 更新时间:2023-11-28 22:34:38 29 4
gpt4 key购买 nike

我必须使用一个接受目录路径并通过 File(path); 加载它的库。 tomcat webapp 上下文中的路径应该是什么?

我一直在使用类路径,但是这个 API 真的没有经过深思熟虑...

我没有在 tomcat 中使用 java 执行上下文的经验,但在我看来做这样的事情是个坏主意

System.getProperty("catalina.base") + "webapps/app/WEB-INF/classes/profiles"

tomcat 是否为应用程序上下文中的资源提供 java 执行(又名 $PWD)路径?

最佳答案

使用ServletContext#getRealPath()将 webapp 相对路径转换为绝对磁盘文件系统路径。根据您的示例,应该执行以下操作:

String path = getServletContext().getRealPath("/WEB-INF/classes/profiles");
File file = new File(path);
// ...

注意这需要WAR被展开,否则会返回null。默认情况下,Tomcat 会扩展 WAR,但其他一些 servletcontainer/configs 不会。考虑到可移植性,请记住这一点。

关于java - 如何通过 Java File api 加载 Tomcat 中的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5508472/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com