您可以在
this issue中看到确切的调用堆栈:
java.nio.file.InvalidPathException: Malformed input or input contains unmappable chacraters: /Users/jettykoo/Desktop/WeTeam/Git/WSS/MaryKay/Doc/01/.DS_Store
at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
at sun.nio.fs.UnixPath.(UnixPath.java:71)
at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
at java.io.File.toPath(File.java:2186)
at org.eclipse.jgit.util.FileUtil.isFile(FileUtil.java:126)
at org.eclipse.jgit.util.FileUtil.canExecute(FileUtil.java:131)
我对sun/nio/fs/UnixPath.java的拼写错误感到惊讶:’chacraters’而不是’characters’!
正如this NetBeans issue中提到的那样(在Eclipse上下文中应该是相关的):
it’s a 07003 and also partially also Apple issue (the LC_CTYPE is not set by default).
The behaviour in terminal depends on the Terminal.app preferences.
When the Terminal export LC_CTYPE set to UTF-8 it works fine in terminal as the sun.jnu.encoding is set to the value of LC_CTYPE.
When it’s not set it does not work.
The problem with setting the sun.jnu.encoding is that it may be overwritten by the JDK, so it’s safer to export the LC_CTYPE=UTF-8.
Rather then addding -J-Dsun.jnu.encoding=UTF-8 to netbeans.conf, prepend the export LC_CTYPE=UTF-8 to it.
您可以在eclipse.ini中设置它(-DLC_CTYPE = UTF-8).
What helped me was adding two lines to eclipse.ini.
-DLC_CTYPE=UTF-8
-Dfile.encoding=UTF-8
Team commands stopped giving errors