我要加载资源:src/com/company/my.properties
,但在类路径中找不到它。
Failed to create route route1: Route(route1)[[From[properties:{{fromroute}}]] ->
[Choice[[When[... because of Failed to resolve endpoint: properties://%7B%7Bfromroute%7D%7D due to:
Properties file com/company/my.properties not found in classpath
my.properties
文件包含'fromroute'键:
fromroute=file:/a/b
以下代码段显示了我是如何尝试加载文件的。
PropertiesComponent pc = new PropertiesComponent();
pc.setLocation("classpath:com/company/my.properties");
context.addComponent("properties", pc);
....
from("properties:{{fromroute}}")
....
答案 0 :(得分:1)
my.properties
文件移至src/main/resources
(不是src/com/company
)
并更新setLocation()
路径:
pc.setLocation("my.properties");
答案 1 :(得分:0)
要使类加载器找到资源,它需要位于 src / main / resources / 中,例如在您的情况下: src / main / resources / com / company / my.properties ,否则资源不会在JAR文件中结束,并且在运行时无法访问。
根据您用于加载资源的ClassLoader的类型,您需要包含或排除包名称。
例如:
getClass().getClassLoader().getResourceAsStream("my.properties");
Thread.currentThread().getContextClassLoader().getResourceAsStream("/com/company/my.properties");