這個錯誤使我的大腦受到了打擊。所有的junit測試都很好,但是當我的應用程序加載爲另一個應用程序的插件時,我有一個錯誤。 beans.xml在jar文件的根目錄下爲100%,但由於某種原因,加載我的插件的主應用程序找不到該文件。爲什麼?Spring無法加載xml配置文件
在我的應用程序的啓動方法,我稱之爲 new ClassPathXmlApplicationContext("beans.xml");
拋出
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [beans.xml]; nested exception is java.io.FileNotFoundException: class path resource [beans.xml] cannot be opened because it does not exist
或
new FileSystemXmlApplicationContext(getClass().getClassLoader().getResource("beans.xml").getPath());
拋出
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from URL [file:/C:/path/to/my.jar!/beans.xml]; nested exception is java.io.FileNotFoundException: C:\path\to\my.jar!\beans.xml (The system cannot find the path specified)
UPD:問題是應用程序使用定製ClassLoader並不在根加載資源文件,META-INF等,但只有類
你是什麼意思的'jar文件的根',你可以檢查它位於什麼路徑? –
@Jama我的意思是位於jar文件中的beans.xml,因爲它必須是。 – TeroBlaZe