转载于:http://www.cnblogs.com/harrychinese/archive/2011/06/30/Eclipse_Settings_For_Java_Application.html
Eclipse的设置
用惯了Visual Studio, 切换到Eclipse有很多不习惯的地方. 总结了几点, 以免忘记后重复摸索. 本文是基于Eclipse 3.1.0, 可能不适用于更新的Eclipse版本.
强烈推荐下面2个Eclipse教程:
http://www.javahotchocolate.com/tutorials/use-eclipse.html
http://www3.ntu.edu.sg/home/ehchua/programming/howto/EclipseJava_HowTo.html
如何理解Eclipse的workspace和project呢? Eclipse 的workspace其实是一个sandbox, 在不同的sandbox中, 有不同的eclipse配置, 不同的JRE设置, 当然包含的项目也不同. 推荐的做法是, 让一个workspace在地位上等同visual studio的一个solution, 不要将好不相关的项目放在一个worksapce下. 比如: 我们为一个大的项目创建一个workspace, 每个单一的module可以创建project来实现.
==================
Eclipse 项目基本上有如下几个部分组成:
==================
.classpath文件,<必需>, 包含项目的classpath信息
.project文件, <必需>, 包含项目的基本信息, 如名称
.settings目录,<不是必需的>, 包含项目的编译器设置信息
lib目录,<不是必需的>, 推荐作为一些外部jar的存放目录
src目录,<不是必需的>, 推荐作为source的根目录
bin目录,<不是必需的>, 推荐作为项目的output目录
==================
Compliler的设置
==================
在新建一个Java Project, 我们可以选择使用哪个版本的JRE. 在项目生成后也可以调整在菜单Project/Property窗口, Java Compiler节点设置.
==================
如何编译项目
==================
Visual Studio可以直接 Build Project或Solution, 在Eclipse的Run菜单怎么也找不到类似的菜单项. 后来在Project菜单找到 Build All (Ctrl+B)/ Build Project/ Build Automatically, 只有当Build Automatically为禁用状态, 才可能选Build All进行手动Build.
==================
设置项目src和output的布局
==================
Windows菜单Preferences窗体的Java/Build Path可以指定新项目默认的source和output的布局方案, 有2种备选方案, (1)project方案, 这种方案是将code和编译后的*.class放在一起. (2)Folders方案, 这种方案是将source和output放置在不同的目录中, 推荐使用Folders方案.
当然在创建项目后, 也有机会修改output的路径, 方法是: 在Project的Property窗体的Java Build Path节点, 有Default output folder, 比如项目名为Test, 我认为输出目录设置为Test/bin是一个好的推荐.
==================
Library的设置
==================
Visual Studio的Project保存reference路径优先选用相对路径, 当然base路径为项目目录. 这就很方便了, 无论team中谁打开这个项目, 都不会碰到找不到依赖库的问题, 只要大家在获取项目源码时候, 一同获取reference 包.
其实, Eclipse也可以做到这点, 假设我们的project名为 Project_Abc, 下面是几种方法:
方法1:在workspace/Project_Abc目录新增lib子目录, 复制架包到这个目录, 然后在Eclipse的Package Explorer中刷新Project_Abc项目, 就会在Package Explorer中看到有一个新的节点lib. 然后在Project_Abc的properties属性, 在Java Build Path节点的libraries tab页面中, 使用按钮Add JARs的将架包加入. 这种方法适合于架包比较小的情况, 因为你需要将架包加到Project_Abc的lib文件夹中, 而且不需要有太多的手动动作.
方法2: 在Project_Abc的properties属性, 在Java Build Path节点的libraries tab页面中, 使用按钮Add External JARs的将架包加入, 然后退出eclipse, 手动打开workspace/Project_Abc/.classpath文件, 修改对应架包的目录为相对路径. 这个方法比方法1适用面更广, 因为架包不必一定要放在Project_Abc/lib目录中.
还有另外几个方法, 详见下面文章.
<<Eclipse3.2/3.3中指定第三方包(JAR)和类路径(CLASSPATH)的几个方法>> http://blog.csdn.net/ruyanhai/archive/2007/10/16/1826876.aspx
<<使用类路径容器简化 Eclipse 类路径>>
http://www.ibm.com/developerworks/cn/education/opensource/os-eclipse-classpath/section2.html
==================
如何查看一个架包的源码
==================
有时候想在Eclipse中某个架包的源码, 要完成这个功能, 需要你有该jar的源码, 然后在eclipse中将源码attach到jar上. 方法是: 在Eclipse的package explorer中选中jar, 然后右击菜单中打开property窗体, 配置Java source attachment节点内容即可.
==================
几个快捷键
==================
(0) Ctrl+Shift+L, 显示所有快捷键功能列表
(1) Alt+Shift+/, 可以提示一个函数的参数, 可以使用Ctrl+Space代替
(2) Alt+?, Eclipse将试着直接进行Code Completion, 比如补齐函数名, 补齐变量名, 但第一次补齐有可能不对, 你需要不断按Alt+?, 来找到你要的东西, 这样的话, 效率就很差, 不如直接使用Ctrl+Space, 然后我们自己选.
(3) Ctrl+Space, 代码智能提示, 多数情况下, 会弹出一个下拉框供我们选择合适的代码
(4) Ctrl+1, 当某行代码有误时, Eclipse Editor左边框会出现一个小红叉, 鼠标点击这个小红叉, Eclipse就会弹出quick fix对话框, 当然我们也可以用Ctrl+1快捷键来调出quick fix对话框
(5) Ctrl+B, Build 所有的project
(6) F3, 跳转到类或对象定义的地方
(7) Ctrl+Alt+H, 可以显示某个方法在哪些地方被调用, 即显示Call Hierarchy, 这个快捷键仅仅适用于查看方法的调用, 我暂时还没有找到适用于属性的快捷键
(8) Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在status bar e中显示没有找到
(9) Ctrl+F6:切换到下一个编辑器。Ctrl+Shift+F6:切换到上一个编辑器。
(10)【Alt+←】、【Alt+→】 后退历史记录和前进历史记录,在跟踪代码时非常有用,用户可能查找了几个有关联的地方,但可能记不清楚了,可以通过这两个快捷键定位查找的顺序。
==================
如果组织JUnit 用例代码
==================
以下部分摘自文章, <<使用junit时源代码和测试代码的组织>>, http://www.99inf.net/SoftwareDev/Java/29964.htm
http://www.clarkware.com/articles/JUnitPrimer.html
推荐的JUnit代码应该和被测试代码放在同一个package中, 不同的目录下. 这样既可以方便地测试protected方法/域,同时不会导致源代码和测试代码混在一起。也就是组织成下面这样:
1. src
2. com
3. xyz
4. HelloWorld.java
5. test
6. com
7. xyz
8. HelloWorldTest.java
使用的是Eclipse, 组织上面的结构非常简单, 只需要在project中新增一个source folder, 专门用来存放junit代码, 比如test目录.
关于Junit4的使用, 可以看一下下面2个短文.
http://www.cavdar.net/2008/07/21/junit-4-in-60-seconds/
http://www.javabeat.net/tips/159-junit-40-example.htm
====================
在Eclipse中使用svn(插件subclipse)
====================
在Eclipse中安装插件 subclipse, 主页是 http://subclipse.tigris.org
安装过程略过, 安装过后, 可以在preferences中的team/svn做相关的配置, 这部分也略过. 下面简单讲一下如何使用这个插件吧.
情形1. checkout一个全新的项目,
使用eclipse的import向导, 选择从svn rep中checkout. 完成向导后, 在Windows的对应目录下, 已经包含.svn footprint了. 同时, Eclipse的package explorer每个包/文件也有svn的小图标了, svn的完整菜单在context menu的team菜单项下面.
情形2. 如何在eclipse中管理一个已经经过TortoiseSvn checkout的项目?
比如, 我们已经用TortoiseSvn迁出了https://localhost/svn/project_1 至c:\workspace\project_1 中, 如何再在Eclipse中对c:\workspace\project_1做svn控制呢?
这种情形比情形1要麻烦点, 需要两个步骤:
第1步, 在Eclipse中使用Show view打开svn repo的view, 然后就会显示类似package explorer的svn repo窗体. 找到添加svn repo的toolbutton, 添加一个svn url.
第2步, 在Eclipse的package explorer的快捷菜单中, 找到team/share projects...菜单项目, 然后会出现一个向导, 在接下来的页面中, 选择一个svn url. 完成该向导后, 就可以使用package explorer进行svn操作了.
***值得一提的是, 当package explorer关联了svn后, 再使用refactor的move菜单项来移动一个java file, subclipse居然也知道这一切, 同步完成svn的move动作, 同样用快捷菜单delete/rename某个文件, svn也同步完成相应的动作.
====================
class diagram 插件
====================
有时候, 觉得画class diagram是就为了设计而设计, 其实我更习惯直接用IDE写代码, 思维更自由, 还可以随时做refactor, 大体框架定了后, 再生成clalss diagram, 然后拿这个class diagram做讲解/做文档.
所以喜欢上了ObjectAid插件(须Eclipse 3.4.x以上版本), 做class diagram的步骤和上面讲的一摸一样.
http://www.objectaid.com , objectaid的class diagram插件免费, sequence diagram插件是收费的.
使用方法: 使用new...向导, 生成class diagram文件, 然后将package explorer中的java文件或java类拖拉到class diagram上即可. 下面两点特别棒,
亮点1. 当我们更新源码后, 所有打开的class diagram就会自动反映相应的更新. (所以在编辑代码时, 最好将所有的class diagram都打开)
亮点2. 当我们使用refactor功能来更新源码后, workspace下所有的diagram都会自动更新, 即使diagram file没有打开也会自动更新的.
我在使用中也碰到了几个小问题:
问题1: 当我们不小心将两个class之间的relation(包括realization, generalization等)删除后, 就不没有办法手动添加这个connection. 解决办法是, 可以按ctrl+Z, 恢复这个误操作. 也可以删除其中任意class, 然后再添加这个class, connection就会自动出现.
问题2: 当我们修改类classA, 为其增加一个ClassB的属性, 在对应的class diagram上, 无法体现relationship. 但很奇怪的是, 如果ClassA原来有一个ClassB的属性, 我们将该属性删除, 在对应的class diagram会自动删除对应的relationship. 解决办法是: 需要我们先在diagram上删一下ClassA, 再增加ClassA, 这个新的relationship就会反映出来.
====================
jd-eclipse 插件(作用像.net的reflector一样)
====================
很多jar包, 我们没有源码或者没有下载源码, 但又要看一下源码, 这时候就需要一个decompiler插件了.
jd-eclipse是一个很棒的decompiler插件, 使用相当简单, 下载安装后, 可以像看普通源码一样来查看无源码的jar. 比如我们要看String类的实现, 只需将光标移到String上, 按下F3, 就可以看一下String的源码了
JDEclipse安装URL:http://java.decompiler.free.fr/jd-eclipse/update
====================
AmaterasERD ER 图插件
====================
AmaterasERD是一个Eclipse画ER diagram的插件. 可以生成DDL语句, 也可以将database反向成ER diagram, 还可以导出成HTML和图片格式. 免费的ER工具中, AmaterasERD算是最好的了.
网址是: http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasERD
系统要求是: Eclipse 3.3 以上(需要包含GEF), 另外需要安装AmaterasUML插件.
安装方法是: 将AmaterasUML和AmaterasERD的jar包统统放在ECLIPSE_HOME/plugins下.
====================
Eclipse SQL Explorer 插件
====================
功能不用多讲, 看名称就知道是做什么的.
http://www.sqlexplorer.org
The update site: http://eclipsesql.sourceforge.net/
====================
类/方法 注释 的插件JAutodoc
====================
我一直Eclipse用不惯Eclipse自带的类和方法注释方法, JAutodoc是一个很好的替代. 安装好后, 将光标移到类或方法上, 按Ctrl+Alt+J就能自动插入一个注释模块
JAutodoc
http://jautodoc.sourceforge.net/update/
====================
XML 插件
====================
每次在Eclipse要使用这个插件, 都要google一番, 因为记不住这个插件的名, 也难怪, 好像也没什么具体的名字. 这次将安装过程详细记录下来,
Install new softwares中, 选择site站点为Eclipse发行版官网站点, 比如, Helios - http://download.eclipse.org/releases/helios
然后在候选的软件列表中, 选择Eclipse Web Tools platform(WTP), 就能看到有个xml editor了.
====================
编辑器增强插件anyedit
====================
anyedit tools
http://andrei.gmxhome.de/privat.html
====================
Google 放出的一系列 eclipse 插件
====================
Google 在google code上放出了一系列插件, 有桌面界面设计器的插件, 有网页设计插件GWT
http://code.google.com/eclipse/
====================
打包插件Fat Jar
====================
Fat Jar Eclipse Plug-In是一个可以将Eclipse Java Project的所有资源打包进一个可执行jar文件的小工具,可以方便的完成各种打包任务,并且在图片等其他资源、引用外包方面使用起来更方便。尤其是用java写一些小工具, Fat Jar尤其有用处, 在运行小工具时候, 如果再额外地配一堆jar,未免太麻烦了.
安装方法:
1. eclipse在线更新方法:
name:Fat Jar
url:http://kurucz-grafika.de/fatjar,这个是FatJarUpdateSite.
2. eclipse插件安装方法:
下载,地址在http://sourceforge.net/projects/fjep/
使用方法
项目右键=>Export..=>向导里选其他=>Fat Jar Exporter
在线tutorial, http://fjep.sourceforge.net/fjeptutorial.html
The created jar file contains all classes from all referenced jar files and the project classes.
This file can be executed anywhere, no classpath has to be set, because all necessary libraries
are extracted inside the "Fat Jar":
====================
Eclipse 3.6 插件资源-持续更新ing
====================
easyeclipse有一份plugin清单 http://www.easyeclipse.org/site/plugins/index.html
http://www.iteye.com/topic/738998 , 插件装的越多, eclipse越占内存, 反应也越慢