解决gradle 编译 报Unable to start the daemon process问题

在新电脑上配置环境时,使用Gradle时遇到daemon启动失败的问题,错误提示为'Unable to start the daemon process'。尝试更换JDK版本和Gradle版本无效。通过增加--stacktrace选项查看详细错误,发现是Java网络套接字异常。解决方案是用管理员权限打开CMD,执行'netsh winsock reset'命令,然后重启电脑,成功解决了Gradle编译问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述,新电脑搭建环境,在目录下使用cmd命令输入gradle init 或者在idea中构建项目的时候报错:

Gradle sync failed: Unable to start the daemon process.

This problem might be caused by incorrect configuration of the daemon.

For example, an unrecognized jvm option is used.

Please refer to the user guide chapter on the daemon at https://docs.gradle.org/2.14.1/userguide/gradle_daemon.html

Please read the following process output to find out more:

-----------------------

试过很多方法都不好使,如重新配置jdk8、重新配置gradle4.6或安装gradle4.10都不好使。

后面通过分析log,发现gradle编译过程中就出现问题了,但是gradle的错误在这上面的log中是无法发现的,那么怎么查看gradle的错误:

运行CMD,进入项目根目录执行命令 gradle --stacktrace  也可在AS的Terminal中输入

出现如下错误:

java.net.SocketException: Unrecognized Windows Sockets error: 10106: create

at java.net.ServerSocket.createImpl(ServerSocket.java:307)

at java.net.ServerSocket.getImpl(ServerSocket.java:257)

at java.net.ServerSocket.bind(ServerSocket.java:375)

at java.net.ServerSocket.(ServerSocket.java:237)

at org.apache.catalina.core.StandardServer.await(StandardServer.java:441)

at org.apache.catalina.startup.Catalina.await(Catalina.java:758)

at org.apache.catalina.startup.Catalina.start(Catalina.java:704)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)

这下可以说的通了为什么换了sdk都没用,其实这个bug和jdk无关,是java在网络层的问题。

解决方案:

1、用管理方式打开cmd命令提示符。

2、输入命令netsh winsock reset

3、重启电脑然后在试下gradle编译

说明:winsock是Windows网络编程接口,winsock工作在应用层,它提供与底层传输协议无关的高层数据传输编程接口 netsh winsock reset 是把它恢复到默认状态。

netsh winsock reset

这个命令作用是重置 Winsock 目录。如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就需要用netsh winsock reset命令来重置Winsock目录借以恢复网络。这个命令的好处是可以重新初始化网络环境,以解决由于软件冲突、病毒原因造成的参数错误问题。

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值