当我在Eclipse中使用我的Web应用程序时,我可以使用
搜索所有类和JAR文件String cp = System.getProperty("java.class.path");
但是当我在Tomcat或Jetty上部署时,我什么也得不到。
我想找到位于webapp中的所有*.properties
个文件(在JAR中,如果是爆炸的,在文件夹中)。
String cp = System.getProperty("java.class.path");
String pathSep = File.pathSeparator;
String[] jarOrDirectories = cp.split(pathSep);
for (String fileName : jarOrDirectories) {
File file = new File(fileName);
if (file.isFile()) {
logger.debug("From jar "+file.getName());
loadFromJar(file.getPath());
} else {
logger.debug("From folder "+file.getName());
listFolder(file);
}
}
这样,在Eclipse中运行Web应用程序会为我提供所有JAR文件和所有类文件夹,但在Tomcat中部署应用程序时则不行。
如果我能够获得WEB_INF
的路径就足够了。从那里,这很容易。
答案 0 :(得分:7)
如果有人需要答案,我找到了一个非常明显的答案。
getServletContext().getRealPath("/WEB-INF")
然后,当您收到真实路径时,您可以轻松搜索文件夹和JAR。