Java 属性中的Spring引导和KeyClope配置会引发NullPointerException,然后引发500状态代码

Java 属性中的Spring引导和KeyClope配置会引发NullPointerException,然后引发500状态代码,java,spring,spring-boot,keycloak,Java,Spring,Spring Boot,Keycloak,我目前正在做一个项目,我必须处理SpringBoot和KeyClope。 我需要spring的application.properties中的配置。 以下是我的配置文件的一部分: keycloak.enabled = true keycloak.auth-server-url=${SSO_URL:http://MYIP:8082/auth/} keycloak.realm=${SSO_REALM:approfox-dev} keycloak.resource=${SSO_CLIENT:appro

我目前正在做一个项目,我必须处理SpringBoot和KeyClope。 我需要spring的application.properties中的配置。 以下是我的配置文件的一部分:

keycloak.enabled = true
keycloak.auth-server-url=${SSO_URL:http://MYIP:8082/auth/}
keycloak.realm=${SSO_REALM:approfox-dev}
keycloak.resource=${SSO_CLIENT:approfox-dev-login}
keycloak.ssl-required=none
keycloak.public-client=true
keycloak.principal-attribute=preferred_username
但当我尝试访问任何API端点时,我得到了一个500内部服务器错误,只是一个NullPointerException。我不知道从哪里或者为什么会发生这种异常。应用程序属性文件似乎不是由keydove加载的,因为当我使用keycloack.json和加载它的方法时,它可以工作

@配置
@启用Web安全性
@键斗篷配置
@ComponentScan(basePackageClasses=keydeposecurityComponents.class)
@条件不动产(
value=“keydeport.enabled”,
havingValue=“true”,
matchIfMissing=false
)
类SecurityConfig扩展了KeyDopperWebSecurity配置适配器{
@自动连线
public void configureGlobal(AuthenticationManagerBuilder身份验证){
SimpleAuthorityMapper grantedAuthorityMapper=新SimpleAuthorityMapper();
grantedAuthorityMapper.setPrefix(“角色”);
keydapertificationprovider keydapertificationprovider=keydapertificationprovider();
密钥斗篷AuthenticationProvider.setGrantedAuthoritiesMapper(grantedAuthorityMapper);
auth.authenticationProvider(keydaperthenticationProvider);
}
@豆子
@凌驾
@ConditionalOnMissingBean(HttpSessionManager.class)
受保护的HttpSessionManager HttpSessionManager(){
返回新的HttpSessionManager();
}
//Keyclope弹簧引导解析程序不工作
@豆子
public keydeposeSpringBootConfigResolver keydeposeConfigResolver(){
返回新的keydepospringbootconfigResolver();
}
@豆子
@凌驾
受保护的SessionAuthenticationStrategy SessionAuthenticationStrategy(){
返回新的RegisterSessionAuthenticationStrategy(
新的SessionRegistryImpl());
}
@凌驾
受保护的无效配置(HttpSecurity http)引发异常{
super.configure(http);
http.csrf()
.disable()
.cors()
.及()
.授权请求()
.antMatchers(“/示例1”)
.hasRole(“学生”)
.antMatchers(“/示例2”)
.hasRole(“管理员”)
.anyRequest()
.permitAll();
}
//keydape.json正在工作。。。
/**
*通过一个简单的机制覆盖默认的keydepot配置解析器行为(/WEB-INF/keydeport.json)。
*
*此示例在参数use.other设置为true时加载other-keydape.json,例如:
*{@code./gradlew bootRun-Duse.other=true}
*
*@return键斗篷配置解析器
*/
/*@豆子
public keydeposeConfigResolver keydeposeConfigResolver(){
返回新的keydeposconfigresolver(){
私钥隐形部署;
@凌驾
公钥部署解析(HttpFacade.Request facade){
if(keydeposteployment!=null){
返回键部署;
}
字符串路径=“/keydape.json”;
InputStream configInputStream=getClass().getResourceAsStream(路径);
如果(configInputStream==null){
抛出新的RuntimeException(“无法加载KeyClope部署信息:“+path”);
}否则{
keydeposeployment=keydeposeploymentbuilder.build(configInputStream);
}
返回键部署;
}
};
}*/
}
我已经在网上搜索过了,我找不到关于那个问题的任何信息

我的POM.xml


4.0.0
org.springframework.boot
spring启动程序父级
2.2.1.发布
xxx
xxxx
0.0.1-快照
罐子
xxxx
xxxx
11
org.springframework.boot
spring引导启动器数据jpa
org.springframework.boot
SpringBootStarterWeb
密钥斗篷
钥匙斗篷弹簧靴启动器
8.0.1
密钥斗篷
键斗篷弹簧引导适配器
8.0.1
org.springframework.boot
弹簧启动安全
2.2.2.1发布
mysql
mysql连接器java
8.0.18
运行时
org.projectlombok
龙目
真的
org.springframework.boot
弹簧起动试验
测试
org.junit.vintage
朱尼特老式发动机
org.keydepate.bom
键斗篷适配器bom表
3.3.0.1最终版本
聚甲醛
进口
org.springframework.boot
springbootmaven插件

您使用的是什么库?Keyclope spring引导适配器还是Keyclope spring安全适配器?
您能分享stacktrace错误吗?

谢谢。我在更新中共享我的pom.xml,但我现在不能共享stacktrace错误,但几天后才能共享。@GIPC请学习如何使用Stackoverflow。如果您有任何疑问,请立即提出意见作为答案。我看到您有Keyclope spring boot starter 8.0.1和Keyclope适配器bom版本3.3.0.Final。我认为您应该为这两个项目指定相同的版本,如中所示。我认为你需要跳过KeyClope弹簧引导适配器