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

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

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

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

    如:
    package project.a;
    @ComponentScan("project.b")
    public class DemoApplication{}
    orzfanfan
        9
    orzfanfan   251 天前
    @wsz66 你可能需要看一下 springboot 的 starter ,我都是把 springboot 打包成 starter,提供一个入口,上面的项目的 spring 就能访问了,我不清楚你的项目是否用了 springboot,如果用了,可以去看看 springboot 的 starter 封装方式
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3684 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 134ms · UTC 05:12 · PVG 13:12 · LAX 22:12 · JFK 01:12
    ♥ Do have faith in what you're doing.