【发布时间】:2019-08-26 14:11:42
【问题描述】:
我在 Spring Boot 中开发应用程序。我在 src/main/java 中有两个包 1。 com.project.test 和 2。 wsdl。在第一个包中,我有 spring boot 主类。在第二个包里面我有 test.wsdl 文件。我尝试使用以下代码在主类中加载 test.wsdl 文件
URL wsdl = MainClass.class.getClassLoader().getResource(/wsdl/test.wsdl);
system.out.println("wsdl: "+wsdl);
它在 Eclipse 中运行时返回 null。将应用程序构建为 jar 并使用 java -jar app.jar 运行应用程序时。它返回正确的路径。为什么它在 Eclipse 中返回 null。但是当我在下面运行没有前缀'/'的代码时,如下所示。它在 Eclipse 和 JAR 中都能正常工作
URL wsdl = MainClass.class.getClassLoader().getResource(wsdl/test.wsdl);
system.out.println("wsdl: "+wsdl);
但我的要求是使用路径 /wsdl/test.wsdl
加载资源【问题讨论】:
-
你真的需要使用类加载器来读取文件还是可以使用@Resource注解?静态资源文件也必须驻留在 src\main\resources
-
否,该项目已由其他开发人员开发。我无法改变流量。你能告诉我为什么 Eclipse 返回 null
标签: java eclipse spring-boot