CAS 7.1.3 Overlay添加自定义RestController及包扫描问题求助
解决CAS Overlay自定义包未被扫描的问题
以下是几个排查和解决方向:
明确@SpringBootApplication的扫描范围
默认情况下,@SpringBootApplication只会扫描当前类所在包及其子包。如果你的自定义包不在这个范围内,需要手动指定扫描路径,注意必须同时包含CAS核心包,否则CAS自身功能会失效:@SpringBootApplication(scanBasePackages = {"com.your.custom.package", "org.apereo.cas"}) public class CustomCasApplication { public static void main(String[] args) { SpringApplication.run(CustomCasApplication.class, args); } }核对gradle主入口配置
确认gradle/springboot.gradle#L81处的mainClassName配置的是自定义类的全限定名,比如:mainClassName = "com.your.custom.CustomCasApplication"检查有没有拼写错误,比如包名、类名是否和实际文件一致。
检查自定义类的存放路径
确保自定义类放在src/main/java目录下对应的包结构里,不要放在src/test/java或其他非源码目录,否则编译时不会被纳入最终的WAR包。验证自定义组件的注解
自定义的Bean要添加@Component、@Service等Spring组件注解,Controller要添加@Controller或@RestController,只有带这些注解的类才会被Spring扫描并初始化。清理缓存重新构建
执行以下命令清理项目缓存并重新构建,避免旧缓存导致的加载问题:./gradlew clean build
内容的提问来源于stack exchange,提问作者user29218322
相关产品推荐
相关产品推荐

