当前位置: 首页 > 知识库问答 >
问题:

外部jar的Spring配置*。找不到xml文件

毋承基
2023-03-14

我有一个罐子x,它有一个类

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
@Configuration
@ImportResource({ "/WEB-INF/assembly/appconfig.xml" })
public class DSPPlatformCommonSiteDefConfig {}

现在在一个完全不同的项目中,我添加了这个jar作为依赖项。

并导入这个类,如:

@Configuration
@Import(DSPPlatformCommonSiteDefConfig.class)
public class ApplicationConfiguration {

}

基本上,我在项目中使用了jar的Spring配置文件。

但当我运行我的应用程序时,我会出现以下错误:

信息:java。伊奥。FileNotFoundException:无法打开类路径资源[WEB-INF/assembly/appconfig.xml],因为它不存在。springframework。豆。工厂BeanDefinitionStoreException:IOException解析来自类路径资源[WEB-INF/assembly/appconfig.XML]的XML文档;嵌套的例外是java。伊奥。FileNotFoundException:无法打开类路径资源[WEB-INF/assembly/appconfig.xml],因为它不存在

我不明白它为什么在类路径中寻找。即使有,jar也在我的类路径中。

共有1个答案

百里渊
2023-03-14

您的问题似乎在于@ImportResource注释中位置的路径声明。路径应该是文件的URI,而不是您声明的那个。

一个例子可以是以下路径:

@ImportResource(locations={ "file:com/yourProjectName/assembly/appconfig.xml" })
 类似资料:
  • 我试图在Spring中创建我的第一个bean,但是在加载上下文时遇到了一个问题。我在src/main/resources中有一个bean的配置XML文件。 线程“main”org.springframework.beans.factory.BeanDefinitionStoreException异常:IOException解析类路径资源[src/main/resources/beans.XML]中

  • 我想用Spring Boot来外部化我的配置,但我想继续部分使用我的xml上下文。 我的主类SpringServerApplication.java: 我将配置放在application.properties中。 但它不起作用。提前感谢你的帮助。

  • 我有一个标准的Spring靴项目。 我有一个/src/main/resources文件夹,其中有几个配置文件。 我怎样才能用Gradle做到这一点呢?

  • 问题内容: 我想做一些我认为并不困难的事情。 我有一个要打包为jar的应用程序,因为我有大约30个依赖项,并且我希望能够部署一个文件。 我有一些配置文件-一个属性文件和一个spring配置文件,以及我的log4 props文件- 我想在jar外部使用。我想我希望,如果我将它们与jar放在同一目录中,它将在运行时找到它们,但事实并非如此。 在开发过程中,我将这些文件放在eclipse项目的类路径的根

  • 我目前正在使用Spring Boot和基于注释的配置来管理我的Spring应用程序。该项目由注册和外部服务库组成。 服务由带有注释的类组成,并在这些类中注入了。 注册将注入。 项目结构(4个maven项目): 注册对服务有maven依赖。 个人服务: PersonRepository: 服务库配置: 应用程序配置: Spring boot在POM中定义用于应用。 我经常遇到的一个例外是,类无法被注

  • 我正在使用带有嵌入式Tomcat的Spring Boot,而类UrlRewriteFilter找不到配置文件urlrewrite。xml,该类使用servletcontext。getResourceAsStream(this.confPath)和我在另一篇文章中读到,当包是jar时,该方法不起作用。有人有这个问题?