解决外部jar包@Service无法注解无法扫描的问题

目录
  • 外部jar包@Service无法注解无法扫描问题
    • 在确保spring配置无误的情况下
  • Service包中的组件无法被扫描到
    • 一般遇到service无法被扫描到有这么几个问题

外部jar包@Service无法注解无法扫描问题

在确保spring配置无误的情况下

如:

<context:component-scan base-package="your.can.pakeage"></context:component-scan>

检查待扫描的外部jar包,导出选项时,是否勾选: add directory entries 。

若没勾选,请勾选。

原因:

没有add directory entries,导出的jar包中的注解无法被扫描

Service包中的组件无法被扫描到

一般遇到service无法被扫描到有这么几个问题

  • serviceImpl没有添加@service注解
  • 主程序入口的位置不正确,应该在项目的外层,这样才能扫描到与之同级的包以及子包(当然也可以添加 @ComponentScan()注解)
  • service下层次的Mapper没有添加@Mapper 注解
  • 直接手动扫描了某些包,导致自动扫描失效。

但本人碰到了一个十分奇怪的问题导致了无法被扫描

在serviceImpl中写入一些测试方法使用的是Junit4的注解。。

然后就杯具了。。。。。。一直提示service无法被扫描到,删除测试方法后成功runing

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

(0)

相关推荐

  • spring注解在自定义jar包中无法被扫描的解决方案

    spring注解在自定义jar包中无法被扫描 前两天,一朋友在开发的时候遇到了一个问题向我求助, service服务为第三方提供的服务里面有spring注解并将service 打成jar包中,使用maven引入. 使用new可以创建,但是使用autowire无法注入提示信息如下图 报错信息 这类问题在开发中一直是我们最不愿意看到的,乍一看,感觉挺对,还挺有道理.但是就是更想要的结果对不上. 我当时给出的判断autowire的类重名导致注入失败,建议用配合使用qualifier或者 使用resou

  • springboot扫描引入jar包的service等组件方式

    在pom中引入对应的依赖,如果引入的三方jar包跟该项目Application所在包目录包含被依赖jar包目录, 即下面的情况: 像上面这种包组织的话,是不需要额外加入任何配置的(前提是依赖jar包相应组件一定要有@Component等注解修饰),因为springboot项目默认扫描目录就是Application所在目录及子目录,但是这种情况仅限于单个项目安排,项目大了就不一定满足了, 这时可以通过下面的方式引入扫描路径: 或者通过@ComponentScan注解也可以,需要注意的是不要忘了扫描

  • Spring注解方式无法扫描Service注解的解决

    目录 Spring注解方式无法扫描Service注解 场景描述 spring配置不扫描service层的原因 Spring注解方式无法扫描Service注解 场景描述 系统启动没有任何错误,但是单独访问controller就会报错,原因是做了service注入.贴两张图吧 1.分析: 找不到bean的原因就是service注解没有被扫描到spring中生成bean 2.尝试:手动将service在spring的文件中进行配置,启动正常,访问也正常,更证明了第一点的分析结果. 3.查资料,大致查询

  • 解决外部jar包@Service无法注解无法扫描的问题

    目录 外部jar包@Service无法注解无法扫描问题 在确保spring配置无误的情况下 Service包中的组件无法被扫描到 一般遇到service无法被扫描到有这么几个问题 外部jar包@Service无法注解无法扫描问题 在确保spring配置无误的情况下 如: <context:component-scan base-package="your.can.pakeage"></context:component-scan> 检查待扫描的外部jar包,导出

  • java动态添加外部jar包到classpath的实例详解

    java动态添加外部jar包到classpath的实例详解 前言: 在项目开发过程中我们有时候需要动态的添加外部jar包,但是具体的业务需求还没有遇到过,因为如果动态添加外部jar包后,我们就需要修改业务代码,而修改代码就需要重新启动服务,那样好像就没有必要动态添加外部jar包了,怎么样才能不重新启动服务器就可以使用最新的代码我没有找到方法,如果各位知道的话给我点建议,回归主题,实现动态添加外部jar包到classpath的方法如下: String beanClassName = "com.dy

  • 详解spring boot引入外部jar包的坑

    前言:由于项目需求,短信验证码的接口需要换成阿里大于的,但是尴尬的发现阿里大于的jar包没有maven版本的,于是便开始了一上午的操蛋引包之路.按照套路来说,自然应该是百度一波,但是百度了好久,找了好多方案之后发现,没一个有用的,而且文章的抄袭.拷贝十分严重,试了N种方案,都是错的,都没有将外部jar包打包到BOOK-INF文件夹下.最终,在第N次尝试之后,终于在打的jar包里将外部的jar包导入进来.特此记录下,防止再犯!!! 首先在新建libs文件夹(根目录或者resource目录下都可以)

  • java实现切割wav音频文件的方法详解【附外部jar包下载】

    本文实例讲述了java实现切割wav音频文件的方法.分享给大家供大家参考,具体如下: import it.sauronsoftware.jave.Encoder; import it.sauronsoftware.jave.MultimediaInfo; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import j

  • Spring Boot项目添加外部Jar包以及配置多数据源的完整步骤

    前言 最近项目需要和Oracle数据库进行交互,然后我从Maven中央仓库下载数据库驱动jar包,但怎么都下不下来,我到Oracle官网上一看,我去,居然不让用Maven直接下(大学时候用过Oracle,很久远的事情了0rz),没办法我还是直接下载jar包放到我的项目里面吧.SpringBoot项目引入外部jar包是非常方便的,包含打引入外部jar等操作. 我的做法如下: 首先在src同级目录建一个lib文件夹,将第三方jar包放到这个文件内,比如我将ojdbc6.jar 这个jar包放到这个地

  • 解决SpringBoot jar包中的文件读取问题实现

    前言 SpringBoot微服务已成为业界主流,从开发到部署都非常省时省力,但是最近小明开发时遇到一个问题:在代码中读取资源文件(比如word文档.导出模版等),本地开发时可以正常读取 ,但是,当我们打成jar包发布到服务器后,再次执行程序时就会抛出找不到文件的异常. 背景 这个问题是在一次使用freemarker模版引擎导出word报告时发现的.大概说一下docx导出java实现思路:导出word的文档格式为docx,事先准备好一个排好版的docx文档作为模版,读取解析该模版,将其中的静态资源

  • maven项目引用外部jar包的方法

    问题描述: 有一个java maven web项目,需要引入一个第三方包gdal.jar,但是这个包是自己打包的,在maven中央库里面找不到该包,因此我采用传统的方式,将这个包拷贝到:项目名称\src\main\webapp\WEB-INF\lib的目录下,然后通过config build path将该gdal.jar包引入到项目工程中.对于传统java web项目,这么做当然没有问题,但是对于maven项目,项目打包(mvn install)时就会报错,在项目调试时(debug on ser

  • 解决运行jar包出错:ClassNotFoundException问题

    目录 Java命令运行jar 报错 方式二 jar包运行报错:Invalid or corrupt jarfile MANIFEST.MF格式要求 Java命令运行jar 报错 运行jar命令 java -jar xxx.jar 报错: Caused by: java.lang.ClassNotFoundException: 原因:要运行的jar缺少依赖包 执行jar正确命令: java -Xbootclasspath/a:/home/webuser/gogoal_platform/ggopen

  • Spring Boot打jar包后配置文件的外部优化配置方法

    在未进行任何处理的情况下,Spring Boot会默认使用项目中的 application.properties 或者 application.yml 来读取项目所需配置. 我这里只记录几种自己所用到的. 访问命令行属性 在默认的情况下, SpringApplication 会将任何命令行选项参数(以 - 开头 --server.port=9000)转换为 property 并添加到Spring环境当中. 例如,启动项目的时候指定端口: java -jar analysis-speech-too

  • springboot读取文件,打成jar包后访问不到的解决

    springboot读取文件,打成jar包后访问不到 最新开发出现一种情况,springboot打成jar包后读取不到文件,原因是打包之后,文件的虚拟路径是无效的,只能通过流去读取. 文件在resources下 public void test() { List<String> names = new ArrayList<>(); InputStreamReader read = null; try { ClassPathResource resource = new ClassP

随机推荐