解決:IDEA unable to import maven project see logs for details問題+java http請求報java.net.SocketExceptio...

 

背景:用IDEA寫了一個java發送http請求的maven項目。html

運行時,項目報java.net.SocketException: Permission denied:connect問題;java

 

修改pom文件自動更新依賴時,IDEA報unable to import maven project see logs for details問題。android

 

 

一開始覺得是環境變量的緣由:https://blog.csdn.net/jiangshubian/article/details/76549073 添加了環境變量以後仍是不行windows

而後覺得是windows防火牆的緣由,先將idea添加到了防火牆容許列表中,不行;而後乾脆關閉防火牆,仍是不行。網絡

網上說也多是代理的緣由,可是我並無使用代理。socket

 

而後我把個人代碼給別人考了一份,而後在別人的機器上跑,結果跑通了maven

所以猜想是由於個人電腦是經過手機USB共享網絡連的網,極可能是手機端有權限控制。以前看過一篇文章,說安卓中java若是要發送http請求 ,必須在manifest.xml中配置一個東西,不然安裝存在權限控制:https://blog.csdn.net/shenyuemei/article/details/8003654。所以猜想就是由於這個,電腦經過手機聯網,因此請求在通過android系統時,被android攔截。ide

因而用電腦直接連wifi試了一下仍是不行,同樣的錯誤。idea

 

解決過程:

一、根據錯誤提示unable to import maven project see logs for details,查看IDEA錯誤日誌:Help》show log in explorer》打開idea.log文件

 

拉到最下面,根據時間找到錯誤詳細信息:spa

WARN先不用看,直接看error和cause by,能夠提取出如下幾點主要錯誤信息:

ERROR - #org.jetbrains.idea.maven - Cannot reconnect.
java.lang.RuntimeException: Cannot reconnect.

 

Caused by: java.rmi.RemoteException: Cannot start maven service; nested exception is:
com.intellij.execution.ExecutionException: java.rmi.server.ExportException: Port already in use: 0; nested exception is:
java.net.BindException: Address already in use: JVM_Bind

 

Caused by: java.net.BindException: Address already in use: JVM_Bind

 

Caused by: com.intellij.execution.ExecutionException: java.rmi.server.ExportException: Port already in use: 0; nested exception is: 

 

Caused by: java.net.BindException: Address already in use: JVM_Bind

 

由此能夠看出,cannot import maven project(其實就是沒法更新依賴)是因爲某個(這裏錯誤提示0號端口,但後面實際發現不是0號端口)端口被佔用,JVM被佔用致使maven service沒法啓動。

二、根據錯誤提示java.net.SocketException: Permission denied:connect,單步調試了一下項目,發現調試過程當中出現了一條新的錯誤信息:

Disconnected from the target VM, address: '127.0.0.1:xxxx', transport: 'socket'

由此能夠肯定了,就是由於端口被佔用致使包括maven service沒法啓動,致使maven項目運行報錯,同時也致使idea更新pom.xml報錯。

 

三、解決錯誤

cmd查看佔用端口的進程:https://jingyan.baidu.com/article/3c48dd34491d47e10be358b8.html

並無發現佔用0號進程的端口。因此,確實是存在端口占用,可是錯誤提示卻沒有給出被佔用的是哪個端口。

那接下來怎麼辦呢?

重啓了一下網卡,仍是不行。

而後重啓了一下電腦,再打開IDEA,修改了一下pom文件試試,unable to import maven project see logs for details問題沒了,成功更新了maven依賴包!而後運行程序,java.net.SocketException: Permission denied:connect問題也沒了。

相關文章
相關標籤/搜索