真是气愤至极,从Github下来的gradle项目就是不能成功导入idea中,各种错。大家都是windows本,导入都没问题。我这个Mac就遇到这么多问题。各种搜索,看idea日志,各种改。。。总算是找到了一种解决方案,但是总觉得不够科学,问题真的只能这么解决吗?希望有人看到这些问题,有好的解决方法告诉我一下,或者为什么会出现这个问题。
哦,还要说明一点:我本地安装的是gradle3.5版本,需要被导入项目也是需要3.5版本。
1、报错类型如下:
(1)project.GradleProjectResolver - Gradle project resolve error
org.gradle.tooling.BuildException: Could not run build action using Gradle distribution 'https://services.gradle.org/distributions/gradle-3.5-all.zip'.
at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:55).......
(2)Caused by: org.gradle.internal.exceptions.LocationAwareException: Build file '/Users/caoxiaohong/Documents/GitHub/GuiZhou_OTN_Backend/build.gradle' line: 88
A problem occurred evaluating root project 'GuiZhou_OTN_Backend'.
at org.gradle.initialization.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:74)
at org.gradle.initialization.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:47).....
(3)Caused by: : Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at org.mybatis.generator.ant.GeneratorAntTask.execute(GeneratorAntTask.java:159)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293).....
这个错误一搜索,都是和数据库相关的答案....
(4)INFO - .BaseProjectImportErrorHandler - Failed to import Gradle project at '/Users/caoxiaohong/Documents/GitHub/GuiZhou_OTN_Backend'
org.gradle.tooling.BuildException: Could not run build action using Gradle distribution 'https://services.gradle.org/distributions/gradle-3.5-all.zip'.
at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:55).....
2、尝试办法:虽然一个都没有用,还是得记录一下
(1)修改grade-wrapper.properties中的distributionUrl为本地路径,目的是使的快速下载需要的cradle版本,因为本地cradle home导入也不成功,只能尝试在线下载了。
(2)修改grade-wrapper.properties中的distributionUrl为tomcat路径,当然需要先吧对应的cradle压缩包放入tomcat的根目录(tomcat-webapp-root)下面。但是依旧报错,显示下载不了。。。本地也不能下载,我就很奇怪了。。。
(3)修改gradle.properties属性,添加:org.gradle.Java.home=/Library/java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/。
(4)idea新建一个gradle项目,把对应的grade-wrapper.properties文件拷贝到需要导入到文件中。
(5)先在线下载gradle版本,然后待其在如下图的目录下生成文件夹后,自己去下载对应的压缩包,放入文件夹下面。Safari下载的文件自动解压,不能压缩后再放入该文件夹下面,我就用google又下了一个,重新放到文件夹下面,还是不行,依旧在在线导入到时候,自动下载对应压缩包,而不是监测到有就停止下载而直接使用。
还有一些其他方法,太乱了,就写这么多吧....
3、我的解决办法:
(1)注释掉build.gradle文件中task开头的代码块。
说明:为什么这么做,实在没有办法了,因为看到日志里面说这行有问题,但是别人都没问题啊,只能抱着试试的态度,结果果然就可以导入成功了。当然在导入时候,使用了本地的gradle home,而没有使用在线下载gardle,因为通常下载速度超级慢,90M的东西,2个小时我都等了,才下了不到一半,而且狠狠的卡住了,再也下不下来了。网上大家都说很难下载下来的,几乎不会成功,但我还是想试试,因为实在不知道怎么解决了。所以,以后一定要舍弃这种方法。
(2)打开idea右侧gradle,点击Refresh all grade projects,导入grade仓库里面和项目相关的jar包
(3)在(2)完成后,再把注释去除,gradle root project 会自动重新构建。
到此,终于把一个gradle项目导入到idea里面了。其他人都很顺利,就是我这么艰难,好无奈....