生产环境要求使用Glassfish作为容器,因此Solr自带的Jetty只能是玩玩了!但是直接将[code="java"][/code]Solr4.2.1的distribution安装在Glassfish上时会抛出如下错误:
Caused by: java.io.IOException: Keystore was tampered with, or password was incorrect at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:771) at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38) at java.security.KeyStore.load(KeyStore.java:1185) at org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:281) at org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:366) ... 79 more Caused by: java.security.UnrecoverableKeyException: Password verification failed at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:769) ... 83 more |#]
网上翻了很久之后,觉得这是一个bug,和SSL的配置关系不大!因此,下载了最新的httpcomponents-client-4.2.5-bin之后解压缩,将其中提供的lib替换到solr-4.2.1.war/WEB_INF/lib中对应的jar包!重新安装之后,问题解决了!
结论:坑爹!!!!