Spring Security 从Spring Boot1.5升级到2.1.6整个项目提示social包找不到

Spring Security 从Spring Boot.5升级到2.1.6整个项目提示包找不到

包全报错了

抱歉可能我提问题不怎么明白

我从从Spring Boot1.X升级到2.X之后org.springframework.social 这个包完全找不到了

图片说明

项目源码

如果单独使用springboot项目没有使用spring cloud的注册中心,网关等服务时,各个服务之间的依赖是通过引入jar包的方式。

比如项目中经常会新建一个common项目,然后给其它项目使用比如order-service依赖于common。

首先我们项目都是正常搭建的,然后再使用打包的时候开始就报找不到common包中的服务

注意!注意!这里发现一个坑,项目中遇到过这里记录下希望后面不要再犯这样的错误了。

Common打包出来的应该是不可执行的jar包,所以不要在Common的pom中定义spring-boot-maven-plugin插件,因为这个SpringBoot插件会在Maven的package后进行二次打包,目的为了生成可执行jar包,如果Common中定义了这个插件,会报错提示没有找到main函数。这时你就可以去打包order-service项目了,当然打包的时候可能还是不行,这里还有一个小坑,如果还是不能进行打包的话,那么就install一下root项目,也就是总目录下的pom文件对应的install操作,这样再打包order-service项目基本上就没有问题了。

下载源码本地测试了下,通过我本地的私服地址可以下载包,见图二
1、首先看下settings.xml文件配置的仓库地址是否正确
2、settings.xml文件可以配置中央仓库地址或者搭建的私服
中央仓库(可参考https://www.iteye.com/blog/schy-hqh-1950126)如:

<repositories>  
    <repository>  
        <id>central</id>  
        <name>My Central Repository</name>  
        <url>http://repo.maven.apache.org/maven2</url>  
        <layout>default</layout>  
        <snapshots>  
            <enabled>false</enabled>  
        </snapshots>  
     </repository>  
 </repositories> 

===update===

3、补充如下:

        <dependency>
            <groupId>org.springframework.social</groupId>
            <artifactId>spring-social-autoconfigure</artifactId>

        </dependency>
                改成
                  <dependency>
            <groupId>org.springframework.social</groupId>
            <artifactId>spring-social-security</artifactId>
            <version>1.1.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.social</groupId>
            <artifactId>spring-social-config</artifactId>
            <version>1.1.4.RELEASE</version>
        </dependency>

            由于pom配置的collections4依赖是
                    <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
            <version>4.3</version>
        </dependency>
                所以
                import org.apache.commons.collections.需要改成
                import org.apache.commons.collections4.

                如果还有其他依赖找不到,可以从从https://mvnrepository.com/找到对应的并配置上

图一:
图片说明

图二:
图片说明

下载打开你项目了,发现没有问题。
把你的maven setting.xml放出来看下有没有问题

把仓库里相关的jar删除了重新下载,有时候下载jar包的过程中会出错。