V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wsz66
V2EX  ›  Java

spring 项目打包后注解无法被自动注入

  •  
  •   wsz66 · 2019-11-06 11:10:25 +08:00 · 3990 次点击
    这是一个创建于 1604 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,有一个 spring 项目打包后注解无法被自动注入,使用 maven 进行打包的,但打包之后注解就扫描不到了,使用的编译器是 IDEA,请问有大佬抽空回答一下吗
    9 条回复    2019-11-06 15:53:13 +08:00
    pengfei
        1
    pengfei  
       2019-11-06 11:29:49 +08:00   ❤️ 1
    猜一下, 如果 spring 主配置文件采用 java 类那种方式不谈,假如是 xml 配置文件的方式的话是不是打包的时候没有把 xml 塞到 jar 包里面, 打开 jar 包看下如果是的话 pom 文件在 resources 标签下增加 include 标签
    airfling
        2
    airfling  
       2019-11-06 11:32:19 +08:00   ❤️ 1
    解决方向两个,依赖包是否全部导入,第二个就是 1 楼的方向
    orzfanfan
        3
    orzfanfan  
       2019-11-06 11:46:02 +08:00
    你是在另外一个项目上依赖了这个 spring 项目,然后启动的时候发现注解无法被扫描?
    choiwanxy
        4
    choiwanxy  
       2019-11-06 11:54:03 +08:00
    springboot?
    xuanbg
        5
    xuanbg  
       2019-11-06 11:55:32 +08:00   ❤️ 1
    1、打包的时候包是不是没导入,jar 包解开来检查一下就知道了
    2、包的版本是不是有问题,同样 jar 包解开来看看
    3、包路径的问题,譬如你的项目里 Application 路径是 a.b.c 的话,是扫描不到路径是 a.b.d 下面的包或者类的。要把 Application 移到 a.b 下面才行
    wsz66
        6
    wsz66  
    OP
       2019-11-06 12:15:32 +08:00 via Android
    @choiwanxy spring

    @orzfanfan 对,依赖 jar 包
    @pengfei @airfling 谢谢,我看看
    @xuanbg 谢谢。我用的是 IDEA 的 maven 插件打包的,应该是配置文件没有加进去
    choiwanxy
        7
    choiwanxy  
       2019-11-06 13:59:27 +08:00
    jar 解压了,仔细看一下,不行 debug 一下吧。可能性还挺多吧。
    hantsy
        8
    hantsy  
       2019-11-06 14:14:20 +08:00
    project a 依赖 project b.
    在 a 的 Application 上加上 ComponentScan(b 的根包名)

    如:
    package project.a;
    @ComponentScan("project.b")
    public class DemoApplication{}
    orzfanfan
        9
    orzfanfan  
       2019-11-06 15:53:13 +08:00
    @wsz66 你可能需要看一下 springboot 的 starter ,我都是把 springboot 打包成 starter,提供一个入口,上面的项目的 spring 就能访问了,我不清楚你的项目是否用了 springboot,如果用了,可以去看看 springboot 的 starter 封装方式
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5922 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 02:36 · PVG 10:36 · LAX 19:36 · JFK 22:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.