我的Eclipse工作区有两个项目,一个使用CVS,另一个使用Git。修改CVS项目中的文件并保存时,会出现一个弹出窗口
An internal error occurred during: "Computing Git status for repository repo23".
Malformed input or input contains unmappable chacraters: /Users/pb/repo23/对照表/feng11.htm
知道如何解决这个问题吗?
编辑:
Eclipse平台
版本:4.3.1.v20130911-1000 构建ID:M20130911-1000
Eclipse EGit 3.2.0.201312181205-r
答案 0 :(得分:7)
您可以在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.<init>(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中的拼写错误感到惊讶:&#39; chacraters&#39;而不是&#39;字符&#39;!
如this NetBeans issue中所述(在Eclipse上下文中应该相关):
它是 JDK issue ,部分也是Apple问题(默认情况下未设置
LC_CTYPE
)。
终端中的行为取决于Terminal.app
首选项。
- 当终端导出
LC_CTYPE
设置为UTF-8
时,它在终端中正常工作,因为sun.jnu.encoding
设置为LC_CTYPE
的值。- 如果未设置则无效。
设置
sun.jnu.encoding
的问题在于它可能会被JDK覆盖,因此导出LC_CTYPE=UTF-8
会更安全。而不是将
-J-Dsun.jnu.encoding=UTF-8
添加到netbeans.conf
,而是将导出LC_CTYPE=UTF-8
添加到其中。
您可以在eclipse.ini(-DLC_CTYPE=UTF-8
)中设置此内容。
Alexander Kachkaev提及in the comments:
帮助我的是向
eclipse.ini
添加两行。
-DLC_CTYPE=UTF-8
-Dfile.encoding=UTF-8
团队命令停止提供错误
答案 1 :(得分:3)
上述属性对我不起作用。但是,设置这些环境变量确实:
export LANG="en_US.UTF-8"
export LC_COLLATE="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"