GRADLE遇见“设备未就绪”
GRADLE遇见“设备未就绪”
xiaobo137 发表于2年前
GRADLE遇见“设备未就绪”
  • 发表于 2年前
  • 阅读 38
  • 收藏 0
  • 点赞 1
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 当我们使用Gradle做团队开发时,会遇到一些莫名的错误,本文为您讲述解决问题的方法

今天在使用Gradle时,遇到一个很奇怪的问题,我在本机上运行的很好,但在另外一台机器上总是报错

错误内容: 

java.io.IOException: 设备未就绪。 at java.io.WinNTFileSystem.canonicalize0(Native Method) at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:375)

于是,我就百度,大概告诉我的是,确认路径是否正确。 

刚开始很迷茫,不知道要确认是哪里的路径,然后,我发现,那台机器上,没有配置gradle环境。

配好环境后,还是报错。 第一次会提示一个buildship的错误,于是,我就想是不是buildship插件没装好。。 

再然后,我干脆启用eclipse的错误报告,查看详细内容,发现,确实是读取文件路径出了问题

这时候我想到了之前修改过一次路径。然后就一个个的配置文件排查。 最终发现,问题出在

org.eclipse.buildship.core.prefs

里面的路径全都是我提交上去的路径,也就是我本机的路径,刚好那台服务器上找不到这个盘符。所以就报了一个设备未就绪的错误。 修改配置后,一切正常。 

所以,Gradle项目下下来之后,还要配置好org.eclipse.buildship.core.prefs里面的具体路径,才能保证Gradle正常构建。

最后把配置文件贴上来,以供参考

GRADLE_BUILD_COMMANDS=org.eclipse.jdt.core.javabuilder,org.eclipse.wst.common.project.facet.core.builder,org.eclipse.wst.validation.validationbuilder
GRADLE_FILTERS=1.0-projectRelativePath-matches-false-false-build,1.0-projectRelativePath-matches-false-false-.gradle
GRADLE_NATURES=org.eclipse.jdt.core.javanature,org.eclipse.wst.common.project.facet.core.nature,org.eclipse.wst.common.modulecore.ModuleCoreNature,org.eclipse.jem.workbench.JavaEMFNature
build.commands=org.eclipse.jdt.core.javabuilder,org.eclipse.wst.common.project.facet.core.builder,org.eclipse.wst.validation.validationbuilder
connection.arguments=
connection.gradle.distribution=GRADLE_DISTRIBUTION(LOCAL_INSTALLATION(C\:\\Tools\\gradle-2.10-all\\gradle-2.10))
connection.gradle.user.home=C\:\\Tools\\gradle-2.10-all\\gradle-2.10
connection.java.home=C\:\\Java\\jdk7
connection.jvm.arguments=-server -Xms128m -Xmx256m
connection.project.dir=
derived.resources=.gradle,build
eclipse.preferences.version=1
natures=org.eclipse.jdt.core.javanature,org.eclipse.wst.common.project.facet.core.nature,org.eclipse.wst.common.modulecore.ModuleCoreNature,org.eclipse.jem.workbench.JavaEMFNature
project.path=\:
 

但也不完全只是org.eclipse.buildship.core.prefs 文件里面配置,也可能是需要配置 gradle.prefs

配置如下:

{
  "1.0": {
    "project_path": ":",
    "project_dir": "D:\\eclipse\\myspace\\gtopTracker",
    "connection_project_dir": "D:\\eclipse\\myspace\\gtopTracker",
    "connection_gradle_user_home": "D:\\devbase\\gradle-2.10",
    "connection_gradle_distribution": "GRADLE_DISTRIBUTION(LOCAL_INSTALLATION(D:\\devbase\\gradle-2.10))",
    "connection_java_home": "C:\\Program Files\\Java\\jdk1.7.0_60",
    "connection_jvm_arguments": "-server -Xms128m -Xmx256m",
    "connection_arguments": ""
  }
}
 

如果第一种方式不行,就试试第二种吧,我这可能因为Eclipse mars 版本不一样,存在这样的区别。 

 

写这篇文章,希望给自己一个记录,便于以后出现类似问题时,可以参考解决,也希望本文能够对你有所帮助!

 

 

 

共有 人打赏支持
粉丝 35
博文 62
码字总数 31489
×
xiaobo137
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: