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包的过程中会出错。