码迷,mamicode.com
首页 > 编程语言 > 详细

解决:IDEA unable to import maven project see logs for details问题+java http请求报java.net.SocketException: Permission denied:connect 问题

时间:2018-07-21 11:51:33      阅读:543      评论:0      收藏:0      [点我收藏+]

标签:mave   art   ice   uem   sed   add   占用   logs   ted   

 

背景:用IDEA写了一个java发送http请求的maven项目。

运行时,项目报java.net.SocketException: Permission denied:connect问题;

技术分享图片

 

修改pom文件自动更新依赖时,IDEA报unable to import maven project see logs for details问题。

技术分享图片

 

 

一开始以为是环境变量的原因:https://blog.csdn.net/jiangshubian/article/details/76549073 添加了环境变量之后还是不行

然后以为是windows防火墙的原因,先将idea添加到了防火墙允许列表中,不行;然后干脆关闭防火墙,还是不行。

网上说也可能是代理的原因,但是我并没有使用代理。

 

然后我把我的代码给别人考了一份,然后在别人的机器上跑,结果跑通了

因此猜测是因为我的电脑是通过手机USB共享网络连的网,很可能是手机端有权限控制。之前看过一篇文章,说安卓中java如果要发送http请求 ,必须在manifest.xml中配置一个东西,否则安装存在权限控制:https://blog.csdn.net/shenyuemei/article/details/8003654。因此猜测就是因为这个,电脑通过手机联网,所以请求在经过android系统时,被android拦截。

于是用电脑直接连wifi试了一下还是不行,一样的错误。

 

解决过程:

1、根据错误提示unable to import maven project see logs for details,查看IDEA错误日志:Help》show log in explorer》打开idea.log文件

技术分享图片

 

拉到最下面,根据时间找到错误详细信息:

技术分享图片

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无法启动。

2、根据错误提示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报错。

 

3、解决错误

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问题也没了。

 

 

解决:IDEA unable to import maven project see logs for details问题+java http请求报java.net.SocketException: Permission denied:connect 问题

标签:mave   art   ice   uem   sed   add   占用   logs   ted   

原文地址:https://www.cnblogs.com/zealousness/p/9345650.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!