我正在使用System.setProperty在Appstarter类中设置信任库文件,但是在运行服务(Spring Boot Rest应用程序)时,程序终止“以退出代码1完成的过程”。通过注释system.setProperty能够运行服务但得到'sun.security.validator.ValidatorException:PKIX路径构建失败'。那么,通过在appstarter中设置信任库而导致服务终止的原因是什么?在这种情况下,如何为我的应用程序设置信任库?我已经尝试过从classpathResource读取jks文件,输入流方法,但是似乎没有任何作用。
但是,我在其他服务中尝试了相同的方法(在appstarter中使用System.setProperty设置信任库),在其中我可以使用rest模板进行Rest调用而没有证书错误'sun.security.validator.ValidatorException:PKIX路径构建失败了
@SpringBootApplication
@ComponentScan("com.data.services")
public class AppStarter extends SpringBootServletInitializer implements CommandLineRunner {
private static final Logger LOG = LoggerFactory.getLogger(AppStarter .class);
static {
System.setProperty("javax.net.ssl.trustStore", "src/main/resources/truststore/truststore.jks");
}
public static void main(String[] args) {
SpringApplication.run(AppStarter.class, args);
}
@Bean
public ModelMapper modelMapper() {
return new ModelMapper();
}
@Bean
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
@Override
public SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(AppStarter.class);
}
@Override
public void run(String... strings) throws Exception {
}
}