服务器启动时OIDC库异常:已引入pac4j-core仍报JEEContext类找不到
问题排查与解决方案
核心原因:版本不兼容与类结构变更
你的问题根源在于pac4j依赖版本不一致,以及pac4j 5.x版本中的类归属变化:
- 你引入的
jee-pac4j:5.0.0与其他pac4j依赖(包括core)的5.6.0版本不匹配,这种版本差异会导致依赖树中出现多版本的pac4j核心类,引发类加载冲突。 - 在pac4j 5.x版本迭代中,
org.pac4j.context.JEEContext类已经从pac4j-core迁移到pac4j-javaee模块,旧版本的jee-pac4j仍会尝试从core模块加载该类,但高版本的core中已不存在这个类。
具体解决步骤
统一所有pac4j依赖版本
将jee-pac4j的版本也改为${pac4j.version}(即5.6.0),确保所有pac4j相关依赖版本完全一致:<dependency> <groupId>org.pac4j</groupId> <artifactId>jee-pac4j</artifactId> <version>${pac4j.version}</version> </dependency>检查并排除依赖冲突
执行Maven命令查看完整依赖树,确认是否有低版本的pac4j依赖被间接引入:mvn dependency:tree如果发现冲突,在对应依赖中添加排除规则,移除低版本的冲突模块:
<dependency> <groupId>org.pac4j</groupId> <artifactId>jee-pac4j</artifactId> <version>${pac4j.version}</version> <exclusions> <exclusion> <groupId>org.pac4j</groupId> <artifactId>pac4j-core</artifactId> </exclusion> </exclusions> </dependency>清理缓存并重新构建
清理本地Maven缓存的旧依赖,重新构建项目,确保所有依赖都是指定的5.6.0版本:mvn clean install -U
内容的提问来源于stack exchange,提问作者vivek204
相关产品推荐
相关产品推荐

