升级到Solr 4.2.1后,将Solr war文件部署到GlassFish版本3.1.1会导致以下错误:
2013-04-09 10:45:06,144 [main] ERROR org.apache.solr.servlet.SolrDispatchFilter - Could not start Solr. Check solr/home property and the logs
2013-04-09 10:45:06,224 [main] ERROR org.apache.solr.core.SolrCore - null:org.apache.http.conn.ssl.SSLInitializationException: Failure initializing default system SSL context
at org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:368)
at org.apache.http.conn.ssl.SSLSocketFactory.getSystemSocketFactory(SSLSocketFactory.java:204)
at org.apache.http.impl.conn.SchemeRegistryFactory.createSystemDefault(SchemeRegistryFactory.java:82)
at org.apache.http.impl.client.SystemDefaultHttpClient.createClientConnectionManager(SystemDefaultHttpClient.java:118)
at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:466)
at org.apache.solr.client.solrj.impl.HttpClientUtil.setMaxConnections(HttpClientUtil.java:179)
Caused by: java.io.IOException: Keystore was tampered with, or password was incorrect
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:772)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
at java.security.KeyStore.load(KeyStore.java:1214)
at org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:281)
at org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:366)
... 50 more
Caused by: java.security.UnrecoverableKeyException: Password verification failed
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:770)
... 54 more
Run Code Online (Sandbox Code Playgroud)
似乎人们在使用Solr版本4.2时遇到了这个问题,并且错误修复版本4.2.1应该修复它(?).任何指针将不胜感激.
几天前有同样的问题.通过降级到solr 4.1.0解决了这个问题.但是有一个解决方案(通过再次搜索我个人众所周知的搜索词来找到它;)只需添加两个JVM选项.启动glassfish:
asadmin start-domain
Run Code Online (Sandbox Code Playgroud)
并输入:
asadmin create-jvm-options -- -Djavax.net.ssl.keyStorePassword=changeit
asadmin create-jvm-options -- -Djavax.net.ssl.trustStorePassword=changeit
Run Code Online (Sandbox Code Playgroud)
别忘了重启glassfish:
asadmin restart-domain
Run Code Online (Sandbox Code Playgroud)
为自己尝试并且像魅力一样工作.显然这只有在您之前从未更改过这些密码的情况下才有效.