spring.factories配置的内容读取不到

springboot项目的spring-boot-maven-plugin打包工具
<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <skip>true</skip>
        </configuration>
        <executions>
                    <execution>                    
                        <goals>
                            <goal>repackage</goal>
                        </goals>                                        
                    </execution>
          </executions>
    </plugin>
</plugins>

executions的repackage部分可以不需要,打包后效果一样。skip为true打包后结果如下(整个插件都不配置也是一样的效果):

去掉skip部分打包后如下:多了boot的东西,自己的代码则放在BOOT-INF里面了

我新建的一个springboot项目只是增加了spring.factories和一个配置类,之前用的别人的springboot工程没问题,自己添加的却死活加载不了。将springboot读取的部分代码拷贝出来执行

就是获取不到对应自己jar文件,只有spring自己的

file:/E:/repo/org/springframework/boot/spring-boot/2.2.5.RELEASE/spring-boot-2.2.5.RELEASE.jar!/META-INF/spring.factories

file:/E:/repo/org/springframework/boot/spring-boot-autoconfigure/2.2.5.RELEASE/spring-boot-autoconfigure-2.2.5.RELEASE.jar!/META-INF/spring.factories

file:/E:/repo/org/springframework/spring-beans/5.2.4.RELEASE/spring-beans-5.2.4.RELEASE.jar!/META-INF/spring.factories

在第一个截图中发现有两个META-INF,而之前别人的工程打包之后只有一个。调整了springboot的版本,依赖包始终没有解决。spring.factories只是在一个META-INF中,就是导致找不到我们自己打的jar包。

手动到install之后jar包删除多余的一个META-INF测试依然没解决。

手动复制META-INF然后Refactor-》Rename 把这个名字又覆盖了一下,发现之前是目录的小图标变了树型图标

,再次打包install之后

两个目录都有spring.factories文件,再次执行代码找到了我们的jar

file:/E:/repo/io/renren/dynamicdatasource/0.0.1-SNAPSHOT/dynamicdatasource-0.0.1-SNAPSHOT.jar!/META-INF/spring.factories

之前是自己手动创建的META-INF目录,不知道为啥会导致这样的问。

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值