Component-Scan 不扫描jar里面的类问题

目录
  • Component-Scan 不扫描jar里面的类
  • 关于context:component-scan等等一些列扫描包的问题记录
    • 解决

Component-Scan 不扫描jar里面的类

今天碰到一个奇怪的问题,配置的spring的

<context:component-scan base-package="*.*"/>

部署到服务器上后发现jar包里面的类没有被扫描,但是在本地是正常的。

反复测试发现原来配置为*.*后jar里面的真不扫描了,改成com.aa.bb.*这样后就可以了。

我本地测试正常是因为maven依赖关系在本地是直接依赖项目的,可以扫描到,部署到服务器上是生成jar包就不行了。

关于context:component-scan等等一些列扫描包的问题记录

在使用spring的时候,发现只要是涉及到使用扫描包之类的时候,就会报错jdk版本太低或者不能加载包中class文件相关的问题。

解决

使用的是jdk1.8的,然后spring是3.2版本的,甚至是2.4版本的。问题就在这里,两个版本并不相容

之后提高spring版本。问题解决!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们

(0)

相关推荐

  • Spring和SpringMVC扫描注解类冲突的解决方案

    目录 Spring和SpringMVC扫描注解类冲突 最正确的配置方式 也可以用直接扫描的方式 几种不同配置的测试 Spring和SpringMVC注解扫描注意事项 现象 方法 Spring和SpringMVC扫描注解类冲突 最正确的配置方式 在主容器中applicationContext.xml中,将Controller的注解排除掉 <context:component-scan base-package="com"> <context:exclude-filter

  • 为什么说要慎用SpringBoot @ComponentScan

    目录 场景复现 解密 解决方案 场景复现 为了统一定制一个过滤器(Filter),所以在另外一个工程里面创建了一个过滤器,并通过jar包的方法导入当前项目,通过@ComponentScan({"org.example.config"})指定扫描包路径. 下面的我的启动类: 导入的jar: 问题 预期效果是这样,正常加载 启动后,原来的Swagger目录进去是这样的,原来的Controller全部都没有被加载进来 解密 以为过滤器导致所有路径没有加载,后面百度了解BasicErrorCo

  • 关于spring 扫描不到jar中class文件的原因分析及解决

    目录 spring 扫描不到jar中class文件的原因及解决 背景 Q: 那么我们怎么解决spring 扫描不到jar中class这个问题呢? Q: 那么我们怎么打包成Runable JAR FILE,并且解决spring 扫描不到jar中class的问题? 大功告成 @ComponentScan注解进行扫描的几种方式 方式一:扫描包 方式二:扫描类 方式三:扫描包(通配式:开发常用) spring 扫描不到jar中class文件的原因及解决 背景 公司一web项目使用的是spring mvc

  • Component-Scan 不扫描jar里面的类问题

    目录 Component-Scan 不扫描jar里面的类 关于context:component-scan等等一些列扫描包的问题记录 解决 Component-Scan 不扫描jar里面的类 今天碰到一个奇怪的问题,配置的spring的 <context:component-scan base-package="*.*"/> 部署到服务器上后发现jar包里面的类没有被扫描,但是在本地是正常的. 反复测试发现原来配置为*.*后jar里面的真不扫描了,改成com.aa.bb.*

  • java实现一个扫描包的工具类实例代码

    前言 在很多的实际场景中,我们需要得到某个包名下面所有的类,比如我们在使用SpringMVC的时候,知道SpringMVC可以扫描指定包下的所有类,在平时的开发中,我们也有这样的场景,所以今天写一个扫描包的工具类,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 代码如下: package com.gujin.utils; import java.io.File; import java.io.FileFilter; import java.io.IOException; imp

  • 解决SpringBoot扫描不到公共类的实体问题

    SpringBoot扫描不到公共类的实体 我的项目结构是 parent ademo bdemo parent是一个大项目,项目里面有web.service和entity三个子项目 ademo 依赖于bdemo里面的实体. aProject项目的包结构是com.test.ademo bProject项目的包结构是com.test.bdemo 以下的问题是我没有忘记标注@Component.@Service等容器注解 在ademo项目里面使用@Autowired的时候有异常说是可能会Autowire

  • Java使用 Class.forName 加载外部 Jar 里的类文件

    故事背景 在一个框架叫 magic-api 里,可以低代码的方式写代码,动态编译执行,但是要想加载一些 import 类进来,需要前提在项目里加载 jar 完成后才可以 import,那么这样每来一个新的 class,就都需要重新加载 class 到项目,然后打包项目,再 import……非常繁琐!!! 当然这边还要提到 magic 的一个大概执行过程,拿到一份源码时,头文件上的 import 会经过源码里 Class.forName 进行加载到内存,有人会说,那直接用 URLClassLoad

  • Spring自动扫描无法扫描jar包中bean的解决方法

    发现问题 前几天用eclipse打包了一个jar包,jar包里面是定义的Spring的bean. 然后将jar包放到lib下,设置spring的自动扫描这个jar包中的bean,可谁知根本无法扫描到bean,显示错误就是找不到bean,当时就纳闷儿了,为什么扫描不到,结果搜索之后才发现,用eclipse打包jar包要勾选"Add directory entries"才能被Spring正确扫描到,居然有这个说法,呵呵- 不知道 勾选"Add directory entries&

  • java 如何扫描指定包下类(包括jar中的java类)

    在很多的实际场景中,我们需要得到某个包名下面所有的类, 包括我们自己在src里写的java类和一些第三方提供的jar包里的类,那么怎么来实现呢? 今天带大家来完成这件事. src下面的类如何获取: 首先,比较简单的是得到我们自己写的类,我们先来完成这个, 项目的结构图如下: 我故意创建了这么个比较复杂的项目结构,现在我们就来获取com.baibin包下所有的类,并且打印他们,代码如下: import org.junit.Test; import java.io.File; import java

  • 在idea中将java项目中的单个类打包成jar包操作

    JAR文件的全称是Java Archive File,即Java档案文件.JAR文件是一种压缩文件,与常见的ZIP压缩文件兼容,被称为JAR包. JAR文件与zip文件的主要区别是在JAR文件中默认包含了一个名为META-INF/MANIFEST.MF的清单文件,这个清单文件是在生成JAR文件时系统自动创建的. 打包jar包 1.先创建一个要打包成jar包的类 2.File -> Project Structrue -> Artifacts -> + -> JAR -> fr

  • 基于spring三方包类注入容器的四种方式小结

    如果引用第三方jar包,肯定是不能直接使用常用注解@Controller.@Service.@Repository.@Component将类的实例注入到spring容器中.以下四种方法可以向spring容器中导入三方包中类实例 . 1 xml配置 这种情况大家用的比较多,就是在spring的xml文件中配置需要导入的bean.在springweb项目工程web.xml中 ContextLoaderListener或者DispatcherServlet的初始参数contextConfigLocat

  • 详谈Feign的配置类是如何生效的

    目录 1. Feign 1.1 配置类:ApiConfiguration.java 1.2 FeignClientsRegistrar 1.3 FeignAutoConfiguration 1.4 FeignClientFactoryBean的定义 1.5 FeignClientsConfiguration 1.6 FeignClientProperties 1.7 再看FeignClientFactoryBean 1.8 FeignRibbonClientAutoConfiguration 1

  • Spring IOC容器Bean注解创建对象组件扫描

    目录 Spring IOC Bean注解对象组件扫描 一.spring 针对 bean 管理中创建对象提供注解 1. 引入依赖 2. 开启组件扫描 3. 创建类,并添加注解来创建对象 4. 测试一下 二.组件扫描的其他过滤条件 1. include-filter 2. exclude-filter Spring IOC Bean注解对象组件扫描 什么是注解? 注解是代码里的特殊标记,格式: @注解名称(属性名称=属性值, 属性名称2=属性值...) 可以作用在:类.方法.属性上面. 使用注解的目

随机推荐