今天在使用Gradle時,遇到一個很奇怪的問題,我在本機上運行的很好,但在另一臺機器上老是報錯java
錯誤內容: 服務器
java.io.IOException: 設備未就緒。 at java.io.WinNTFileSystem.canonicalize0(Native Method) at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:375)eclipse
因而,我就百度,大概告訴個人是,確認路徑是否正確。 jvm
剛開始很迷茫,不知道要確認是哪裏的路徑,而後,我發現,那臺機器上,沒有配置gradle環境。gradle
配好環境後,仍是報錯。 第一次會提示一個buildship的錯誤,因而,我就想是否是buildship插件沒裝好。。 ui
再而後,我乾脆啓用eclipse的錯誤報告,查看詳細內容,發現,確實是讀取文件路徑出了問題spa
這時候我想到了以前修改過一次路徑。而後就一個個的配置文件排查。 最終發現,問題出在插件
org.eclipse.buildship.core.prefsserver
裏面的路徑全都是我提交上去的路徑,也就是我本機的路徑,恰好那臺服務器上找不到這個盤符。因此就報了一個設備未就緒的錯誤。 修改配置後,一切正常。 ip
因此,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 版本不同,存在這樣的區別。
寫這篇文章,但願給本身一個記錄,便於之後出現相似問題時,能夠參考解決,也但願本文可以對你有所幫助!