我具有以下目录布局:
- src
- 主要
- java
- 资源
- sql(数据库脚本)
- 弹簧(配置)
- webapp
在ServletContextListener类中,我想访问SQL目录下的文件并列出它们。基本上,我的问题与路径有关,因为我知道简而言之列出目录下的文件是:
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
也许我可以使用ServletContextEvent
对象尝试建立到resources/sql
的路径
public void contextInitialized(ServletContextEvent event) {
event.getServletContext(); //(getRealPath etc.)
}
是否存在以相对的非硬编码方式设置该路径的方法?像new File("classpath:sql")
之类的东西(如果可能的话最好是spring),或者我应该如何处理ServletContext指向resources/sql
?
我具有以下目录布局:src主要java资源sql(数据库脚本)spring(配置)webapp在ServletContextListener类中,...
我假设src/main/resources/
的内容在构建时复制到.war内部的WEB-INF/classes/
中。如果是这种情况,您可以这样做(用实数值代替类名和要加载的路径)。
最后,这就是我所做的:
import org.springframework.core.io.ClassPathResource;
...
File folder = new ClassPathResource("sql").getFile();
File[] listOfFiles = folder.listFiles();
只需使用com.google.common.io.Resources