前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
?
java.net.ConnectException: Connection refused: connect
1. 報錯如上。
2. 原因和解決:
?
1)端口號被占用:殺死占用端口號(一般為8080)的進程,釋放端口;徹底關閉 Tomcat 服務器,或者重新啟動項目。
2)使用以下命令檢查服務器中允許的最大進程數:?ulimit -u。如果將此值設置為較低值,例如1024,則使用以下值將其增加到131072或無限制:ulimit -u 131072? 或者?ulimit -u無限制 。
?
3)客戶端和服務器,它們中的任何一個或兩個都不在網絡中。
它們可能沒有連接到LAN或互聯網或任何其他網絡,在這種情況下,Java將會拋出
客戶端的“?java.net.ConnectException:Connection refused?”異常。
4)服務器未運行用
是服務器已關閉但未運行。在這種情況下,你也會得到java.net.ConnectException:連接被拒絕錯誤。可ping來檢查服務器是否正在運行并偵聽端口。
5)服務器正在運行但沒有偵聽端口,客戶端正在嘗試連接。
服務器正在運行但是正在偵聽不同的端口。驗證配置。如果你正在處理一個大項目,并有一個分層配置文件,它可能是默認配置或其他一些設置覆蓋了您正確的設置。
?
6)主機端口組合不允許使用防火墻
幾乎每個企業網絡都受防火墻保護。如果您正在連接其他公司網絡,例如在任何電子交易系統中,需要提高防火墻
雙方要求確保他們允許彼此的IP地址和端口號。如果防火墻不允許連接,也會收到相同的java.net.ConnectException:Java應用程序中的連接拒絕異常。
?
7)主機端口組合不正確。
提供的主機端口組合不正確,或者服務器端的早期主機端口組合已經更改。檢查客戶端和服務器端的最新配置。
?
8)連接字符串中的協議不正確
TCP是許多高級協議的基礎協議,包括HTTP,RMI等。通過連接時字符串,你需要確保你傳遞正確的協議,服務器期望。例如服務器已暴露,通過 RMI 而不是連接字符串的服務應該以rmi://?開頭。
?
?
3.我的情況:
我的原因到是比較簡單,大概屬于上面的第5、7、8點,反正就是配置不正確。我只是把 數據庫所在服務器 IP 地址寫錯了。
spring.datasource.url=jdbc:mysql://數據庫所在服務器IP:3306/gaei_ms?useUnicode=true&characterEncoding=utf-8&useSSL=false
---------------------------------------------------------------------------------------------
2019年7月4日補記:
從評論中得知:
“? 若注釋中未添加全部參數,也同樣會出現此問題。”
加入文章中,供參考,也非常感謝這位朋友:?`Seven 。
?
參考:https://javarevisited.blogspot.com/2013/02/java-net-ConnectException-Connection-refused.html