[已解决]IDEA中Springboot配置Shiro依赖,导入之后仍然报错包不存在,但Crtl可进入

日记

今天跟着网上的教程学习Shiro,原本以为很简单却在配置上卡了整整一天。不禁好奇难道Shiro入门很难? 经过整整一天的努力终于找到解决方法。

一、问题描述

配置shiro环境并添加配置类后(均正确配置),运行时报错如
Error:(4, 52) java: 程序包org.springframework.beans.factory.annotation不存在
Crtl+左键点击可以进入类,但重新编译、build、重启等操作均无效

二、找到原因

——2021.8.1日更新:IDEA2020版取消了Import Maven projects automatically选择项 根本解决大法:升级

  • 原因
    IDEA启动程序按钮和maven的build使用的jar包环境不一样
    Ctrl+左键可以进入类,但IDEA却找不到,很有可能是路径名错误
    仔仔细细的检查了一遍,发现自己的仓库路径被更改

在这里插入图片描述

三、解决方法

  1. 将仓库路径等改成自己设置的仓库路径
  2. 开启IDEA帮助代理Maven,如下图
    在这里插入图片描述
  3. 托管后rebuild报错
    maven install时报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
    原因:项目中没有配置该插件,在pom.xml中引入即可
   		 <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>2.22.1</version>
               <configuration>
                   <skipTests>true</skipTests>
               </configuration>
           </plugin>

重新rebuild、重新加载项目就OK啦!!!

项目框架:Springboot+mybatis+shiro+vue.js
下面是我的项目截图
在这里插入图片描述

为了配置Spring Boot和Shiro,您需要执行以下步骤: 1. 在您的Spring Boot项目,使用Maven或Gradle将Shiro依赖项添加到您的构建配置文件。例如,对于Maven,请在pom.xml文件添加以下依赖项: ```xml <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring-boot-starter</artifactId> <version>1.7.1</version> </dependency> ``` 2. 创建一个Shiro配置类,该类将Shiro的相关配置。您可以在该类定义身份验证和授权规则等配置。例如,创建一个名为ShiroConfig的类,并使用@Configuration注解将其标记为配置类。 ```java @Configuration public class ShiroConfig { // 配置身份验证规则 @Bean public Realm realm() { // 实现自己的Realm } // 其他配置... } ``` 3. 在Shiro配置创建一个Realm bean,并在其实现自己的Realm。Realm负责验证用户身份和进行授权。您可以使用现有的Realm实现,如JdbcRealm或IniRealm,也可以实现自定义的Realm。 例如,创建一个名为MyRealm的类,并实现`org.apache.shiro.realm.AuthorizingRealm`接口来实现您自己的Realm逻辑。 ```java public class MyRealm extends AuthorizingRealm { // 身份验证逻辑 @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { // 实现身份验证逻辑 } // 授权逻辑 @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { // 实现授权逻辑 } // 其他方法... } ``` 4. 在Shiro配置,通过@Bean注解将自定义的Realm bean注入到容器。 5. 在application.properties或application.yml文件配置Shiro的相关属性。您可以设置身份验证的URL、登录URL、注销URL等。例如,在application.yml文件添加以下配置: ```yaml shiro: loginUrl: /login successUrl: /home unauthorizedUrl: /unauthorized ``` 这些是配置Shiro的基本步骤。您还可以根据您的应用程序需求添加其他配置和功能。请注意,这只是一个简单的示例,您可能需要根据自己的情况进行调整和扩展。 希望以上信息对您有所帮助!如果您有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值