Home > Life, Mac, eclipse > 从window上移植Eclipse workspace到Mac os x历险记

从window上移植Eclipse workspace到Mac os x历险记

February 13th, 2011 Tank Leave a comment Go to comments

题目的确不好取,这篇仅记录下我花费了两个小时用来和eclipse的配置作的斗争。

 

起源:

          我从windows迁移到mac,本想着直接copy workspace的目录过去就完事了,可惜总有意外在等待着我们

问题:

          由于我之前的workspace中引用了很多源代码,而源代码记录是使用windows的绝对路径来完成,所以到mac下切换了workspace的目录后就会报错,说找不到XXX文件,一看就知道是硬编码的路径地址,以C盘开头,当然找不到,但是不可能就这样放弃使用吧

解决过程:

         首先尝试将所有project下的.classpath文件中的source引用全部删除,然后重启eclipse,结果还在报错,经过查证是因为我引入了自定义的库(user library),所以当我添加对应资源库中的资源文件时,有部分信息一起写到user library的内容里了。

         为了找出eclipse的user library写到哪了,我翻山越岭的查看文件修改时间,隐藏目录,终于在workspace跟目录下的.metadata里找到了eclipse的启动日志.log文件,通过这个文件确定是在启动org.eclipse.jdt.core时报错的,那么接下来去哪找这个组件的配置呢?就在.metadata/.plugin/org.eclipse.core.runtime/.setting目录下,这里有很多的prefs文件,而org.eclipse.jdt.core.prefs就是配置org.eclipse.jdt.core的,果然在搜索这个文件时发现了报错的那个地址,当然要一举全部消灭,所有以userLibrary开头的记录都是自定义库的内容,其实就是xml文件的字符串,导出功能估计就是把这个写成单独的文件的。

        好了,删除完毕,重启下eclipse试试吧。Yeah,没有错误了,而且在设置里的userLibrary可以正常查看了,是空的,其实如果只将源代码的引用字符串删除,这里还会保留user library的记录的。不过为以防后患,还是老老实实的重新导入一次好了。

        在之前删除所有项目的源代码引用之后就可以重新导入各项目了。

总结:

        第一点就是知道了eclipse如何管理workspace的相关配置的,基本上所有的配置信息会被放到workspace/.metadata/.plugin/org.eclipse.core.runtime/.setting目录下,XXX.prefs对应的就是XXX的配置了,而各workspace的日志就记在metadata目录下,所有的这些文件都是隐藏的。

        第二被迫学习了几个linux命令:

         ls 加上-a可以显示所有文件,加上-ct可以安装最后修改时间排序输出,-l是每行一个记录的输出,所以查看所有文件,并按最后修改时间排序的命令是: ls -actl

         vim中使用ctrl + b下翻一页,ctrl + f上翻一页,mac没有page down和page up还真的不习惯。

         第三点其实还是教训,一开始没有直接查看日志,所以简单的以为都是project的classpath中引用了源代码,结果搞不定了反而自己不知道怎么办,幸好及时找到了日志输出,纪念下吧。晚安。

  • No Related Post
Categories: Life, Mac, eclipse Tags: ,
  1. No comments yet.
  1. No trackbacks yet.