내 httpclient 프로젝트에서 java1.6을 사용하는 다른 두 CentOS 시스템에서 이상한 문제가 발생했습니다. 하지만 다른 시스템 (centos 및 java1.6)에서는 실패했습니다. 문제는 다음과 같습니다기본 SSL 컨텍스트 초기화 실패
java.lang.IllegalStateException: Failure initializing default SSL context [java] at org.apache.http.conn.ssl.SSLSocketFactory.createDefaultSSLContext(SSLSocketFactory.java:211) [java] at org.apache.http.conn.ssl.SSLSocketFactory.(SSLSocketFactory.java:333) [java] at org.apache.http.conn.ssl.SSLSocketFactory.getSocketFactory(SSLSocketFactory.java:165) [java] at org.apache.http.impl.conn.SchemeRegistryFactory.createDefault(SchemeRegistryFactory.java:45) [java] at org.apache.http.impl.client.AbstractHttpClient.createClientConnectionManager(AbstractHttpClient.java:294) [java] at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:445) [java] at simulativeLogin.WebClientDevWrapper.wrapClient(Unknown Source) [java] at simulativeLogin.GetAccessToken.getToken(Unknown Source) [java] at crawler.FriendshipCrawler.main(Unknown Source) [java] at java.lang.reflect.Method.invoke(libgcj.so.10) [java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.taskdefs.Java.run(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.taskdefs.Java.executeJava(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.taskdefs.Java.executeJava(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.taskdefs.Java.execute(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.UnknownElement.execute(ant-1.7.1.jar.so) [java] at java.lang.reflect.Method.invoke(libgcj.so.10) [java] at org.apache.tools.ant.dispatch.DispatchUtils.execute(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.Task.perform(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.Target.execute(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.Target.performTasks(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.Project.executeSortedTargets(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.Project.executeTarget(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.Project.executeTargets(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.Main.runBuild(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.Main.startAnt(ant-1.7.1.jar.so) [java] at org.apache.tools.ant.launch.Launcher.run(ant-launcher-1.7.1.jar.so) [java] at org.apache.tools.ant.launch.Launcher.main(ant-launcher-1.7.1.jar.so) [java] Caused by: java.lang.IllegalStateException [java] at gnu.javax.net.ssl.provider.X509KeyManagerFactory.engineGetKeyManagers(libgcj.so.10) [java] at javax.net.ssl.KeyManagerFactory.getKeyManagers(libgcj.so.10) [java] at org.apache.http.conn.ssl.SSLSocketFactory.createSSLContext(SSLSocketFactory.java:187) [java] at org.apache.http.conn.ssl.SSLSocketFactory.createDefaultSSLContext(SSLSocketFactory.java:209)
가 여기에 단서 말을해야 당신이 자바 6를 사용하고 있는지 확인해야합니다 gnu.javax.net.ssl.provider'에서 IllegalStateException''에 의해 발생. X509KeyManagerFactory.engineGetKeyManagers'를'libgcj.so.10'에 추가합니다. –
나 자신을 위해, 나는 단지 "gcj라고 생각하니? 바로 거기에 문제가 있습니다! "하지만 당신에게 유용한 대답이 아닌 것 같습니다 ... –
문제가 해결되었습니다. javac의 버전은 1.5이지만 open-jdk는 버전 1.6입니다. 버전과 일치하면 문제가 사라집니다. – lujingsun