我解决了自己的问题。问题是我正在使用以下方式加载密钥库和信任库
InputStream ksin = this.getClass().getResourceAsStream("client.jks");InputStream tsin = this.getClass().getResourceAsStream("cacerts.jks");&在Junit测试中使用了这些行,并且无法找到.jks文件。
我通过以下内容找出了答案
if(0 == keyStore.size()) { throw new RuntimeException("Keystore is empty"); }if(0 == trustStore.size()) { throw new RuntimeException("Truststore is empty"); }在密钥库和信任库初始化之后。
因此,我将行更改为
InputStream ksin = Thread.currentThread().getContextClassLoader().getResourceAsStream("client.jks");InputStream tsin = Thread.currentThread().getContextClassLoader().getResourceAsStream("cacerts.jks");&一切正常。



