2017-02-14 95 views
0

我正在使用使用javax.net.ssl.HttpsURLConnection的SSL連接。我從java 1.7升級到java 1.8。我需要使用javax.net.ssl.SSLParameters.setServerNames(List<SNIServerName> serverNames)在SSLParameters中設置SNI主機名。但編譯器無法解析類SNIServerName。編譯器顯示此錯誤:找不到SNIServerName類

unable to resolve class javax.net.ssl.SNIServerName

我的Java版本:

java version "1.8.0_121" Java(TM) SE Runtime
Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM
(build 25.121-b13, mixed mode)

如何導入SNIServerName或SNIHostName? AFAIK它們已經在Java 8中引入了。我的java版本有問題嗎?

+0

如果您正在使用IDE,請檢查項目的Java目標版本,這似乎是IDE配置中的錯誤 – Tony

+0

我正在使用IDE進行編輯。我在命令行上使用mvn進行編譯。 – ankshah

回答

1

只要確保您的JAVA_HOME配置正確。只需按照下面提到的步驟

vim ~/.bashrc 
JAVA_HOME = <path to your java8 bin> 
PATH = $JAVA_HOME:$PATH 
save this and then 
source ~/.bashrc 

之後,只需通過終端上的$ JAVA_HOME驗證。