Java代码:缺少来自webapp的类路径,但在桌面应用程序中没有问题

时间:2018-01-22 07:43:04

标签: java web-applications classpath

我正在尝试使用以下代码读取我的资源文件夹(src / main / resources)下的属性文件名

final String classPath = System.getProperty("java.class.path", ".");
System.out.println(classPath);

上面的代码在桌面应用程序中运行完美的文件,但在System.out.println上面的Web应用程序中给出了这个输出:

/C:/Development/INSTALLED/apache-tomcat-8.0.46/bin/bootstrap.jar
/C:/Development/INSTALLED/apache-tomcat-8.0.46/bin/tomcat-juli.jar
/C:/Program%20Files/RedHat/java-1.8.0-openjdk-1.8.0.151-1/lib/tools.jar

(缺少\ target \ classes)

在桌面应用程序上运行相同的代码时,我成功获取“\ target \ classes”,我可以在其中看到属性文件。

我应该怎么做才能通过classpath读取这些文件的名称?请帮忙。

enter image description here

1 个答案:

答案 0 :(得分:0)

最后我通过google relection api解决了这个问题。但我仍然愿意接受其他解决方案。

添加依赖项:

<dependency>
    <groupId>org.reflections</groupId>
    <artifactId>reflections</artifactId>
    <version>0.9.11</version>
</dependency>

Java代码:

Reflections reflections = new Reflections("translation", new ResourcesScanner());
final Set<String> fileNames = reflections.getResources(pattern);