我正在使用Eclipse Neon(4.6)和Spring IDE插件(3.8.1)来开发Spring Boot App。使用Spring Boot Dashboard和Spring Boot Configuration来管理在Eclipse中运行App。 通过Spring Boot Dashboard运行应用程序时,一切工作正常。
我现在已经向应用程序添加了一个外部属性文件,并使用@PropertySource(value = {“classpath:fee.properties”})在我的@Configuration类中引用它。 我还通过spring boot配置在类路径上添加了一个“外部文件夹”位置。打开配置,转到类路径选项卡,按“高级”,然后“添加外部文件夹”,添加属性文件的文件夹位置。
每次通过Spring Boot Dashboard启动应用程序时,它会在org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter上报告ClassNotFoundException
如果我从配置中的类路径选项卡中删除外部文件夹,则应用程序启动正常,直到它遇到错误,因为它无法找到外部属性文件。
如果我将应用程序作为“Java应用程序”运行,则右键单击Spring Boot应用程序的“main”类,“Run As ... Java Application”,使用外部文件夹启动它。< / p>
因此,在Spring活动发生之前的主程序开始时,我添加了以下内容来查看类路径
ClassLoader cl = ClassLoader.getSystemClassLoader();
URL[] urls = ((URLClassLoader)cl).getURLs();
for(URL url: urls){
System.out.println(url.getFile());
}
从Spring Boot仪表板运行时,类路径中缺少几个jar,当作为Java App运行时,或者没有外部文件夹条目时,所有jar都存在于类路径中。
一些遗失的罐子的例子是......
/Users/orlok/.m2/repository/org/springframework/spring-context-support/4.2.3.RELEASE/spring-context-support-4.2.3.RELEASE.jar
/Users/orlok/.m2/repository/org/springframework/boot/spring-boot/1.3.3.RELEASE/spring-boot-1.3.3.RELEASE.jar
/Users/orlok/.m2/repository/org/springframework/boot/spring-boot-starter-web/1.3.3.RELEASE/spring-boot-starter-web-1.3.3.RELEASE.jar
/Users/orlok/.m2/repository/org/springframework/boot/spring-boot-starter/1.3.3.RELEASE/spring-boot-starter-1.3.3.RELEASE.jar
/Users/orlok/.m2/repository/org/springframework/boot/spring-boot-starter-logging/1.3.3.RELEASE/spring-boot-starter-logging-1.3.3.RELEASE.jar
我附加了'Spring_Boot_classpath.txt'作为输出失败的ClassNotFoundException,'Java_app_classpath.txt'作为输出,作为Java App运行,并且存在所有的jar。
如果外部文件夹以不同的方式定义,或者这是插件的问题,我做错了什么?