java.net.socketexception permission denied
原因:
操作系统中如果允许ipv4和ipv6两种net stack,那么java默认使用的是ipv6 stack。
如果操作系统中的ipv6在设置上没有网络访问权限,比如出现下图所示的
那么,在运行java程序时就会出现:java.net.socketexception permission denied
正常情况下,“网络连接状态”应该如下图所示
解决方法:使用jvm参数 -Djava.net.preferIPv4Stack=true 。它的意思就是,强制java使用ipv4 stack。