`
lxsgoodluck
  • 浏览: 101788 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Spring中使用classpath*加载配置文件,jar包中的配置文件不加载问题

阅读更多

jar中配置文件放在“/”(根目录)下时,通过classpath*加载配置文件,jar包中的配置文件不会加载,

这是因为Spring使用classpath加载配置文件时需要借助JDKClassLoader.getResources(String name)方法,而该方法有一个局限:当传入的参数为空字符串时,即我们本意是想从根目录获取文件,这时JDK只会返回存在于文件系统中的资源,而在jar包中的资源并不会被返回。

解决方法是将配置文件放在根的下一级目录内,例如/conf/application-context.xml,web.xml中配置为classpath*:conf/**/*application-context.xml。

 

 

 

1
0
分享到:
评论
3 楼 csjxhx 2013-07-31  
[color=darkred][/color]别v刹不[co范德萨lor=red][/color发松岛枫]发松岛枫
2 楼 vance012297 2011-01-17  
我也遇到了你的问题,有没有在不改变路径机构的前提下,解决这个问题呢?
1 楼 ferreousbox 2010-01-28  
不会的!
比如你的abc.jar包中顶层目录包含一个applicationContext-service.xml文件,并且abc.jar包放在WEB-INF/lib目录下

在web.xml中配置如下:
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
	classpath*:applicationContext.xml,
	classpath*:applicationContext-service.xml,
  </param-value>
</context-param>


这样配置,是可以自动加载的!

相关推荐

    如何加载jar包中的spring配置文件

    在Spring MVC项目中,加载jar包中的Spring配置文件是一个常见的需求,特别是在进行SSM(Spring、Spring MVC、MyBatis)整合时。SSM框架的整合通常涉及到多个配置文件的组织和管理,其中一部分配置可能会被打包到独立...

    加载jar包中的spring配置文件

    当我们构建一个基于Spring的应用时,经常需要从jar包中加载配置文件,以便管理依赖注入和其它服务。在Spring中,我们通常使用`classpath:`或`classpath*:`前缀来指定资源的位置。这两个前缀在处理多个类路径位置时有...

    spring读取jar中的配置文件

    这里的`classpath:`前缀表示从类路径中查找资源,如果应用被打包成JAR,这个配置文件会被包含在JAR的根目录下`/config/`路径中。 然而,当配置文件位于JAR的嵌套目录,例如`META-INF/config/application.properties...

    spring boot加载第三方jar包的配置文件的方法

    Spring Boot默认不扫描XML配置文件,但如果我们需要从外部jar包中加载XML配置,可以使用`@ImportResource`注解。在主配置类或者任何Spring Bean定义类上添加这个注解,并指定XML配置文件的位置。例如,如果第三方...

    spring jar 包详解

    - **功能简介**:此 Jar 包包含了访问配置文件、创建和管理 Bean 以及进行依赖注入相关的所有类。 - **应用场景**:用于实现基本的 IoC/DI 支持。 - **依赖关系**:需要 `spring-core.jar` 和 `cglib-nodep-2.1_3....

    Spring Boot项目打成jar包后,下载resources目录下文件为空的demo

    在Spring Boot应用中,资源文件(resources)是存放应用程序所需的静态内容、模板文件以及配置文件的地方。当项目被打成jar包后,有时可能会遇到下载这些资源文件时返回空或者找不到的情况。这个问题通常与Spring ...

    读取war包或jar包内的文件

    这些文件可能包括配置文件、静态资源、类文件等。标题"读取war包或jar包内的文件"涉及到的知识点主要是如何在程序中动态地获取并读取这些归档文件中的内容,这对于理解和处理Java应用的部署和运行至关重要。这篇博客...

    java中常用jar包

    - 在Java项目中,JAR文件可以添加到项目的类路径(ClassPath)中,使得项目能够找到并加载其中的类和资源。 - 使用`jar`命令行工具创建、提取或更新JAR文件。 - `MANIFEST.MF`文件在JAR中扮演重要角色,它定义了...

    分享Java知识库

    在Java应用中,尤其是使用Spring框架进行开发时,加载配置文件是必不可少的一个环节。配置文件通常用于存储各种环境变量、数据库连接信息等敏感或频繁变动的数据。Spring提供了多种方式来加载配置文件,这里介绍两种...

    springboot

    - **Profile特定配置文件**:说明如何为不同profiles配置不同的配置文件。 - **日志**: - **日志格式**:介绍如何配置日志的输出格式。 - **控制台输出**:说明如何将日志输出到控制台。 - **文件输出**:介绍...

    jar包2jar包2jar包2jar包2jar包2

    3. **运行jar**:使用`java -jar`命令可以执行jar包中的主类,manifest文件中的Main-Class属性指定启动类。 4. **依赖管理**:如果一个jar包依赖于其他jar包,需要确保它们都在类路径(classpath)中。现代构建工具...

    java 方面的一些程序开发jar包

    2. **使用JAR**:在Java项目中,可以通过`Classpath`配置来引用JAR包,使得程序能访问其中的类和资源。通过`java -jar`命令,可以直接运行包含主类信息的JAR文件。 3. **构建JAR**:开发者通常使用构建工具(如...

    springboot面试题.docx

    - **@Value注解**:可以直接在Controller或其他类中使用`@Value`注解读取配置文件中的属性值。 - **自定义配置类**:创建一个配置类,通过`@ConfigurationProperties`注解绑定配置文件,然后注入到需要的...

    Spring源码含有通配符路径解析一[文].pdf

    在Spring框架中,资源路径解析是一项关键功能,它允许开发者使用通配符来加载一系列相关的配置文件或资源。本文将深入探讨Spring如何处理包含通配符的路径,特别是当路径以`classpath*`开头时的情况。 首先,让我们...

    JAR包工具箱.zip

    8. **JAR包更新**:`jar uf jarfile file(s)`命令可以更新已有JAR包中的文件,而`jar xvf jarfile`可以解压JAR内容。 9. **使用第三方JAR库**:Java开发者经常使用Apache Commons、Google Guava、Spring框架等开源...

    Java使用路径通配符加载Resource与profiles配置使用详解

    所有依赖jar包中的classes是同一级别。 四、profiles配置 profiles配置是环境配置信息的配置文件,用于配置不同的环境,如prd、local、ut、test等。通过profiles.active属性来激活不同的环境。 五、资源文件使用 ...

    显示路径转换方法.rar

    例如,Spring Boot应用可能需要从类路径(classpath)加载配置文件,这就需要将类路径的相对路径转换为实际的文件系统路径。 7. **最佳实践**:在编写代码时,应确保路径处理的稳健性,考虑各种边缘情况,比如相对...

    java ssh jar包

    - 整合SSH涉及到配置文件(如struts-config.xml、spring-servlet.xml、hibernate.cfg.xml)的编写,以定义各个组件之间的关系。 - Spring可以作为整个应用的容器,管理Struts的Action和Hibernate的SessionFactory...

    mybatis拦截器实现通用权限字段添加的方法

    MyBatis拦截器实现通用权限...3. 在spring配置文件中,需要保证我们的配置文件加载后加载,覆盖原始的配置文件。 通过使用MyBatis拦截器,我们可以轻松地实现通用权限字段添加,达到灵活、可靠、可维护的数据库操作。

Global site tag (gtag.js) - Google Analytics