使用Eclipse时的配置备份/提取与导入

来源:互联网 发布:微页制作软件下载 编辑:程序博客网 时间:2024/05/14 11:28

之所以用“使用Eclipse时的配置”,因为配置“配置”不全是针对Eclipse软件本身的配置。需要注意两点。

  • 下面提到的任何配置经备份/提取后导入到另一台机器或者另一个Eclipse软件时,凡涉及到文件路径的配置都可以通过本文编辑器修改。
  • 备份/提取。备份是直接copy事实存在的文件资源。提取是通过软件解析生成的文件资源,该文件资源Eclipse运行时事实不存在、不依赖

配置备份和提取的意义

  • 分而治之,不需要拷贝整个庞大的依赖资源比如Eclipse软化或项目源码,开发的场景不再限制在同一台电脑的唯一一个Eclipse软件
  • 只需要携带项目配置,当置换另一台电脑或Eclipse软件时,可以省去重复繁琐的配置过程,迅速无缝的开发。

dev.userlibraries

java开发,全局,提取(自.metadata的用户Libraries)。

做java开发时,配置User Libraries选项,可导出备份为*.userlibraries文件,转移到另一台电脑中使用

配置User Libraries选项,可导入正确格式*.userlibraries文件

该文件并不事实存在,而是Eclipse解析后生成或使用

不受Eclipse版本影响,不受具体项目影响,受本地文件路径影响

导入成功后文件和程序彼此独立,可通过编辑器修改


my-javaformater.xml

java开发,全局,提取(自.metadata下的Java代码格式化)。

做java开发时,配置Code Style --> Formatter选项,可导出备份为.xml文件,转移到另一台电脑中使用

配置Code Style --> Formatter选项,可导入正确格式*.xml文件

不受Eclipse版本影响,不受具体项目影响,不受本地文件路径影响。

该文件并不事实存在,而是Eclipse解析后生成或使用

导入成功后文件和程序彼此独立,可通过编辑器修改


=======

14.12.25更新

提供一个格式化模板,该模板是开源框架nutz采用的。

https://github.com/nutzam/nutz/blob/master/doc/eclipse/nutz-eclipse-java-code-format-1.0.xml


templates.xml

java开发,全局,提取(自.metadata下的Java快捷生成代码)。

做java开发时,配置Window -> Preferences -> Java -> Editor -> Templates选项,可导出备份为.xml文件,转移到另一台电脑中使用

配置Editor -> Templates选项,可导入正确格式*.xml文件

不受Eclipse版本影响,不受具体项目影响,不受本地文件路径影响。

该文件并不事实存在,而是Eclipse解析后生成或使用

导入成功后文件和程序彼此独立,可通过编辑器修改


参考:《玩转Eclipse — 自动代码生成的Java Code Template》


 .metadata文件夹

eclipse工作台,备份

保存的配置

  • 外观主题
  • 字体颜色和大小
  • 快捷键
  • 透视图布局
  • 视图布局
  • Java用户库及绝对路径
  • Java代码格式化
  • 工作台中所有项目记录和快照
  • 最后一次编辑的所有文件及编辑位置
  • 文件关联
  • 弹出的警告
……

=========================
14.12.18更新
  • 项目的SVN化及相关配置


总之,包括全部的Preference配置透视图视图



======================

14.12.28更新

org.eclipse.jdt.launching.prefs

java开发,工作台,备份

在配置Java的Installed JREs项时,若使用系统安装到JDK,仅能识别到src.zip,而docapi总不能自动识别到,而且有没有Export之类的选项,以至于每次都需要重新手动配置docapi。今天终于找到该项到配置文件,文件名就是org.eclipse.jdt.launching.prefs,位于.metadata-->.plugins-->org.eclipse.core.runtime-->.settings目录下。鉴于jdk到docapi文件比较大,建议使用压缩文件而不是解压文件夹作为docapi,这样便于拷贝,而Eclipse在配置docapi时是允许使用压缩文件中的子目录。这里以为例,当在Eclipse中配置好后,参数的值如下。


org.eclipse.jdt.launching.PREF_VM_XML=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\n<vmSettings defaultVM\="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1419660750692" defaultVMConnector\="">\n<vmType id\="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType">\n<vm id\="1419660750692" javadocURL\="http\://docs.oracle.com/javase/7/docs/api/" name\="jdk7u72" path\="/usr/lib/jvm/jdk7u72">\n<libraryLocations>\n<libraryLocation jreJar\="/usr/lib/jvm/jdk7u72/jre/lib/resources.jar" jreJavadoc\="jar\:file\:/usr/lib/jvm/jdk7u72/jdk-7u72-docs-all.zip\!/docs/api" jreSrc\="/usr/lib/jvm/jdk7u72/src.zip" pkgRoot\=""/>\n<libraryLocation jreJar\="/usr/lib/jvm/jdk7u72/jre/lib/rt.jar" jreJavadoc\="jar\:file\:/usr/lib/jvm/jdk7u72/jdk-7u72-docs-all.zip\!/docs/api" jreSrc\="/usr/lib/jvm/jdk7u72/src.zip" pkgRoot\=""/>\n<libraryLocation jreJar\="/usr/lib/jvm/jdk7u72/jre/lib/jsse.jar" jreJavadoc\="jar\:file\:/usr/lib/jvm/jdk7u72/jdk-7u72-docs-all.zip\!/docs/api" jreSrc\="/usr/lib/jvm/jdk7u72/src.zip" pkgRoot\=""/>\n<libraryLocation jreJar\="/usr/lib/jvm/jdk7u72/jre/lib/jce.jar" jreJavadoc\="jar\:file\:/usr/lib/jvm/jdk7u72/jdk-7u72-docs-all.zip\!/docs/api" jreSrc\="/usr/lib/jvm/jdk7u72/src.zip" pkgRoot\=""/>\n<libraryLocation jreJar\="/usr/lib/jvm/jdk7u72/jre/lib/charsets.jar" jreJavadoc\="jar\:file\:/usr/lib/jvm/jdk7u72/jdk-7u72-docs-all.zip\!/docs/api" jreSrc\="/usr/lib/jvm/jdk7u72/src.zip" pkgRoot\=""/>\n<libraryLocation jreJar\="/usr/lib/jvm/jdk7u72/jre/lib/jfr.jar" jreJavadoc\="jar\:file\:/usr/lib/jvm/jdk7u72/jdk-7u72-docs-all.zip\!/docs/api" jreSrc\="/usr/lib/jvm/jdk7u72/src.zip" pkgRoot\=""/>\n<libraryLocation jreJar\="/usr/lib/jvm/jdk7u72/jre/lib/ext/dnsns.jar" jreSrc\="" pkgRoot\=""/>\n<libraryLocation jreJar\="/usr/lib/jvm/jdk7u72/jre/lib/ext/zipfs.jar" jreSrc\="" pkgRoot\=""/>\n<libraryLocation jreJar\="/usr/lib/jvm/jdk7u72/jre/lib/ext/localedata.jar" jreSrc\="" pkgRoot\=""/>\n<libraryLocation jreJar\="/usr/lib/jvm/jdk7u72/jre/lib/ext/sunjce_provider.jar" jreSrc\="" pkgRoot\=""/>\n<libraryLocation jreJar\="/usr/lib/jvm/jdk7u72/jre/lib/ext/sunpkcs11.jar" jreSrc\="" pkgRoot\=""/>\n<libraryLocation jreJar\="/usr/lib/jvm/jdk7u72/jre/lib/ext/sunec.jar" jreSrc\="" pkgRoot\=""/>\n</libraryLocations>\n</vm>\n</vmType>\n</vmSettings>\n



为了更好的理解,把org.eclipse.jdt.launching.PREF_VM_XML的值格式化为可读的XML格式。假设我的jdk路径是/usr/lib/jvm/jdk7u72,jdk-7u72-docs-all.zip和src.zip文件都放在该文件夹下。


<?xml version="1.0" encoding="UTF-8" standalone="no"?><vmSettings defaultVM="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1419660750692"defaultVMConnector=""><vmType id="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType"><vm id="1419660750692" javadocURL="http\://docs.oracle.com/javase/7/docs/api/"name="jdk7u72" path="/usr/lib/jvm/jdk7u72"><libraryLocations><libraryLocation jreJar="/usr/lib/jvm/jdk7u72/jre/lib/resources.jar"jreJavadoc="jar\:file\:/usr/lib/jvm/jdk7u72/jdk-7u72-docs-all.zip\!/docs/api"jreSrc="/usr/lib/jvm/jdk7u72/src.zip" pkgRoot="" /><libraryLocation jreJar="/usr/lib/jvm/jdk7u72/jre/lib/rt.jar"jreJavadoc="jar\:file\:/usr/lib/jvm/jdk7u72/jdk-7u72-docs-all.zip\!/docs/api"jreSrc="/usr/lib/jvm/jdk7u72/src.zip" pkgRoot="" /><libraryLocation jreJar="/usr/lib/jvm/jdk7u72/jre/lib/jsse.jar"jreJavadoc="jar\:file\:/usr/lib/jvm/jdk7u72/jdk-7u72-docs-all.zip\!/docs/api"jreSrc="/usr/lib/jvm/jdk7u72/src.zip" pkgRoot="" /><libraryLocation jreJar="/usr/lib/jvm/jdk7u72/jre/lib/jce.jar"jreJavadoc="jar\:file\:/usr/lib/jvm/jdk7u72/jdk-7u72-docs-all.zip\!/docs/api"jreSrc="/usr/lib/jvm/jdk7u72/src.zip" pkgRoot="" /><libraryLocation jreJar="/usr/lib/jvm/jdk7u72/jre/lib/charsets.jar"jreJavadoc="jar\:file\:/usr/lib/jvm/jdk7u72/jdk-7u72-docs-all.zip\!/docs/api"jreSrc="/usr/lib/jvm/jdk7u72/src.zip" pkgRoot="" /><libraryLocation jreJar="/usr/lib/jvm/jdk7u72/jre/lib/jfr.jar"jreJavadoc="jar\:file\:/usr/lib/jvm/jdk7u72/jdk-7u72-docs-all.zip\!/docs/api"jreSrc="/usr/lib/jvm/jdk7u72/src.zip" pkgRoot="" /><libraryLocation jreJar="/usr/lib/jvm/jdk7u72/jre/lib/ext/dnsns.jar"jreSrc="" pkgRoot="" /><libraryLocation jreJar="/usr/lib/jvm/jdk7u72/jre/lib/ext/zipfs.jar"jreSrc="" pkgRoot="" /><libraryLocation jreJar="/usr/lib/jvm/jdk7u72/jre/lib/ext/localedata.jar"jreSrc="" pkgRoot="" /><libraryLocation jreJar="/usr/lib/jvm/jdk7u72/jre/lib/ext/sunjce_provider.jar"jreSrc="" pkgRoot="" /><libraryLocation jreJar="/usr/lib/jvm/jdk7u72/jre/lib/ext/sunpkcs11.jar"jreSrc="" pkgRoot="" /><libraryLocation jreJar="/usr/lib/jvm/jdk7u72/jre/lib/ext/sunec.jar"jreSrc="" pkgRoot="" /></libraryLocations></vm></vmType></vmSettings>



不保存的配置

  • JDK绝对路径
  • 项目.project、.classpath文件
不保存的意义在于可以独立特定的资源或版本,即“面向了接口”。

工作台保存的是上一次退出时所包含的项目快照,不管本地文件中是否还存在该项目。
但链接到项目是以.project为依据,要打开工作台中的项目,如果本地文件中.project缺失,将打不开,即使本地文件中存在该项目。
如果项目的.project存在并且路径正确,但是项目破损,则进入.classpath 和 .project分析。

 .classpath 和 .project

eclipse项目,备份

保存的配置

  • 项目的Build Path
  • 项目的link src

不保存的配置

  • 项目的源码
  • 项目的jar包和其他lib资源

.classpath 和 .project两个文件的意义在于,我只需要拷贝项目配置,而不需要拷贝整个庞大的项目包括源码和jar包或者依赖的class文件夹。

特别是对于svn、git之类的版本控制或者开发管理,相同的代码资源可以以不同的配置开发。

或者是我只需要携带项目配置,当置换另一台电脑或Eclipse软件时,可以省去重复繁琐的配置过程,迅速无缝的开发。


如果一个项目在这个eclipse下是完整的,那么在另一个eclipse下也是完整的,前提是一些需要用到绝对路径的文件资源必须存在。


eclipse.rar

eclipse软件,备份

保存的配置

  • 工作台路径记录
  • 安装的插件
  • 使用的JDK或JRE

不保存的配置

  • 工作台快照
  • 外观、视图、布局、快捷键……
  • 用户Libraries

0 0