`

Spring 自动扫描 不支持jar包 <component-scan> 的解决方案

阅读更多

近期在用spring3做一个项目,用到了里面的一个自动扫描组件的特性.但是工程分为了好多个小项目,有个统一的开发平台,这个平台的支撑类会被我做成一个jar包被其它几个子工程引用.

 

开发的时候使用的是工厂引用工厂的方式,在eclipse里面的classpath里面把该平台工厂引入即可,避免了每次修改了平台代码都要重新打包的问题.这个方法不是在web project类型,对于web-project,还是需要沿用老办法,即打成jar包,然后让web-project引用进来.

 

这时发现个问题,就是平台下junit测试正常的一些spring bean,到了web-project里面发现无法关联到了.

搞了很久,也上网查了很多资料,一开始以为是要修改<context:component-scan >里面的resource-pattern属性,后来改来改去都解决不了问题.

 

最后发现一个问题,是我们的eclipse自带的jar打包程序,默认打包的时候有个选项<Add directory entries>没有勾选,只要勾选了,就完全没有问题了,无须再对<context:component-scan >进行任何修改了.

 

罪恶的<Add directory entries>选项啊!

 

分享到:
评论
11 楼 qq_15946053 2018-11-28  
基于spring的项目要导出成jar怎么做呢,用eclipse的导出可执行jar的第二选项,找不到命名空间,在eclipse运行时正常的,就是导出的时候无法运行了,https://gitee.com/huangliusong/demo2这有源码,希望您不吝赐教
10 楼 qq_15946053 2018-11-28  
基于spring的项目要导出成jar怎么做呢,用eclipse的导出可执行jar的第二选项,找不到命名空间,在eclipse运行时正常的,就是导出的时候无法运行了,https://gitee.com/huangliusong/demo2这有源码,希望您不吝赐教
9 楼 bf1977 2016-10-25  
用注解@componentscan声明的方式,如何支持扫描jar包里的组件呢
8 楼 爱丶无悔 2014-10-13  
是啊。如果用maven该如何设置呀。纠结了半天。
7 楼 threepi 2013-10-15  
神文!感谢感谢!
6 楼 endual 2013-08-26  
如果我用maven管理的话,请问怎么解决?
5 楼 yangbo 2013-03-29  
同样的道理,如果是用ant打包的jar,要设置 filesonly=false.
4 楼 lzzyok 2012-08-23  
你好,我也遇到这个问题,后来解决了,但是不明日为什么,不知道你有没有答案。
3 楼 yugiohboy 2012-08-21  
我今天高了一天也不能找到我外部实体类的jar,总是说unkowXXXXEception
2 楼 edgar108 2012-06-28  
也遇到这个问题,现在解决了,谢谢了
1 楼 showdy1984 2012-03-24  
遇到同样的问题,纠结死我了。。搞了好几个小时

相关推荐

    Spring 自动扫描 不支持jar包 的解决方案

    NULL 博文链接:https://xinglu.iteye.com/blog/1457029

    struts2 + spring + mybatis 框架整合jar包

    &lt;filter&gt;&lt;filter-name&gt;struts2&lt;/filter-name&gt;&lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&lt;/filter-class&gt;&lt;/filter&gt;&lt;filter-mapping&gt;&lt;filter-name&gt;struts2&lt;/filter-name&gt;...

    CXF WebService整合Spring示例工程代码demo

    1.引入cxf和其他需要的jar包,(本资源里面已经在lib下了)。 2.web工程的web.xml中配置CXFServlet &lt;!-- 设置Spring容器加载配置文件路径 --&gt; &lt;context-param&gt; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt; ...

    logback-ext-spring

    spring使用logback的扩展,使用起来非常方便。在web.xml中配置: ... &lt;listener-class&gt;ch.qos.logback.ext.spring.web.LogbackConfigListener&lt;/listener-class&gt; &lt;/listener&gt; 即可加载logback配置,使用logback。

    springweb3.0MVC注解(附实例)

    -- ①:对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 --&gt; &lt;context:component-scan base-package="com.baobaotao.web"/&gt; &lt;!-- ②:启动Spring MVC的注解功能,完成请求和注解POJO的映射 --&gt; ...

    struts2+kindEditor4.1.7

    2、复制struts需要的jar包和kindEditor必须jar包到lib下,因为它们的jar包邮重复,选择最新的就ok 3、如果需要后台java代码获取内容,可以在action中定义content属性,getContent就可以获取到 需要注意的是,这里的 ...

    Spring扫描器—spring组件扫描使用详解

    NULL 博文链接:https://gaozzsoft.iteye.com/blog/1523898

    基于MyEclipse搭建maven+springmvc整合图文教程(含源码0

    使用Maven POM editor打开项目中的pom.xml文件,选择Dependencies,在Dependencies栏目点击Add进行,首先弹出一个搜索按钮,例如输入spring-web,就会自动搜索关于spring-web相关的jar包,我们选择3.0.5版本的spring...

    spring-hibernate-dwr实例

    dao.jar&lt;br&gt;spring-hibernate3.jar&lt;br&gt;spring-ibatis.jar&lt;br&gt;spring-jdbc.jar&lt;br&gt;spring-jdo.jar&lt;br&gt;spring-jpa.jar&lt;br&gt;spring-toplink.jar&lt;br&gt;persistence.jar&lt;br&gt;spring-aop.jar&lt;br&gt;spring-agent.jar&lt;br&gt;spring-...

    完整的axis2 jar包包含实例.zip

    --&gt;axis2-spring-1.6.1.jar --&gt;axis2-transport-http-1.6.1.jar --&gt;XmlSchema-1.4.7.jar --&gt;wsdl4j-1.6.2.jar --&gt;axiom-api-1.2.12.jar --&gt;axiom-impl-1.2.12.jar --&gt;neethi-3.0.1.jar --&gt;axis2-transport-...

    spring security 参考手册中文版

    远程处理 - spring-security-remoting.jar 25 Web - spring-security-web.jar 25 配置 - spring-security-config.jar 26 LDAP - spring-security-ldap.jar 26 ACL - spring-security-acl.jar 26 CAS - spring-...

    JSF与Shale开发用包

    aop.jar&lt;br&gt;spring-beans.jar&lt;br&gt;spring-context.jar&lt;br&gt;spring-core.jar&lt;br&gt;spring-dao.jar&lt;br&gt;spring-hibernate.jar&lt;br&gt;spring-jdbc.jar&lt;br&gt;spring-mock.jar&lt;br&gt;spring-orm.jar&lt;br&gt;spring-remoting.jar&lt;br&gt;spring-...

    spring+struts+hibernate+dwr+jstl做的实例

    logging.jar&lt;br&gt;log4j-1.2.14.jar&lt;br&gt;spring-dao.jar&lt;br&gt;spring-hibernate3.jar&lt;br&gt;spring-ibatis.jar&lt;br&gt;spring-jdbc.jar&lt;br&gt;spring-jdo.jar&lt;br&gt;spring-jpa.jar&lt;br&gt;spring-toplink.jar&lt;br&gt;persistence.jar&lt;br&gt;...

    基于SSM(spring+springMVC+MyBatis)开发的仓库管理系统

    评论中说的图片显示问题解决了,原因是文件被拦截了,css调用的时候掉不到资源,自带的字体库找不到,调用不了,就变成那个方框框了 需要在web.xml配置下就行,加入以下代码。感谢帮忙解决问题的同学! &lt;servlet-...

    Mybatis与Spring整合所需的jar包

    spring-bean.5.0.2.jar spring-context-5.0.2.jar spring-core-5.0.2.jar spring-expression-5.0.2.jar commons-logging-1.2.jar aopalliance-1.0.jar aspectjweaver-1.8.13.jar spring-aop-5.0.2.jar ...

    struts2整合spring2的配置

    1. 导入的包&lt;br&gt;&lt;br&gt;l struts2的五个基础包:commons-logging-1.1.jar;...&lt;br&gt;&lt;br&gt;xwork-2.0.0.jar.&lt;br&gt;&lt;br&gt;l spring的核心包:spring.jar&lt;br&gt;&lt;br&gt;l 二者集成开发所需的包:struts-spring-plugin-2.0.6.jar&lt;br&gt;

    SpringMVC+Hibernate实例

    --扫描的包--&gt; &lt;context:component-scan base-package="com.bbs"/&gt; &lt;!--注解支持--&gt; &lt;mvc:annotation-driven/&gt; &lt;!--视图解析--&gt; &lt;bean id="viewResolver" class="org.springframework.web.servlet.view....

    Spring3.2.4+Quartz2.2.0 Demo

    Spring3.2.4+Quartz2.2.0 实例 &lt;!-- 启动触发器的配置开始 --&gt; &lt;bean name="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"&gt; &lt;property ...

    Maven拆分代码.zip

    --扫描接口包路径,生成包下所有接口的代理对象,并且放入spring容器中--&gt; &lt;bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"&gt; &lt;property name="basePackage" value="com.itheima.dao"/&gt; &lt;/bean&gt;...

    List<Map>转化为List工具类

    一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List&lt;Map&lt;String, Object&gt;&gt;结果集,如果我们要转化为JavaBean,则需要做一系列的map.get(),然后obj.set()。 此工程中就是解决List&lt;Map&lt;String, Object&gt;...

Global site tag (gtag.js) - Google Analytics