Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring引导应用程序SSL属性配置:setKeyStorePassword之前的getKeyStorePassword_Java_Spring Boot_Ssl - Fatal编程技术网

Java Spring引导应用程序SSL属性配置:setKeyStorePassword之前的getKeyStorePassword

Java Spring引导应用程序SSL属性配置:setKeyStorePassword之前的getKeyStorePassword,java,spring-boot,ssl,Java,Spring Boot,Ssl,在尝试使用spring boot和tomcat配置HTTPS/SSL功能时,我开始看到以下错误: Caused by: java.lang.IllegalArgumentException: Invalid keystore format at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:116) at org.apache.t

在尝试使用spring boot和tomcat配置HTTPS/SSL功能时,我开始看到以下错误:

Caused by: java.lang.IllegalArgumentException: Invalid keystore format
        at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:116)
        at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:87)
        at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:225)
        at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1150)
        at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:591)
        at org.apache.catalina.connector.Connector.startInternal(Connector.java:1018)
        ... 22 common frames omitted
进一步挖掘,我看到了类
SSL.java
被填充的顺序(
SSL.java
是配置的基本POJO)。 访问POJO获取值的顺序令人震惊。我在“set”调用之前看到了“get”调用(特别是
getKeyStorePassword
setKeyStorePassword
之前)。这可不好

这似乎是一个非常奇怪的spring错误,它与自身竞争来设置和获取值。在这种情况下,即使正确的值最终到位,SSL配置也会失败,因为这些值是在设置之前访问的。有人能强调一下为什么会出现这种情况以及可能的解决办法吗


我们使用的是Spring1.5.12,可以确认所有配置都是正确的。

奇怪的是,这似乎是POM/Maven的问题

通过将资源筛选设置为false,应用程序开始按正确的顺序设置其所有变量

<resource>
   <directory>src/main/java/resources</directory>
   <filtering>false</filtering>
</resource>

src/main/java/resources
假的