初识Eclipse!!
零、大纲
- 一、前言
- 二、获取Eclipse
- 三、运行Eclipse
- 四、创建及运行第一个Java Project
- 五、界面介绍
- 六、如何调试
- 七、获取插件
- 八、Eclipse 快捷键
- 九、总结
一、获取Eclipse
要获取最新的Eclipse,必要要去Eclipse的官网了(http://www.eclipse.org/)。而下载的地址则是:http://www.eclipse.org/downloads/。在此页面中,我们可以通过Get Eclipse Neon来获取最新的Eclipse。
后面这个"Neon"意思是Eclipse的版本,在这之前还有如Luna,Juno之类的,主要用于版本的区别而已。Eclipse已经准备好一个安装管理程序供你下载,也就是红色按钮的"Download 64 bit"。通过此下载的文件如下:
它是一个安装管理程序,助你方便的安装升级Eclipse的各种IDE。没错,这里提供"各种IDE",不要以为Eclipse只支持Java语言,后续会看到它的其他支持。我个人习惯选择直接"Download Package",其实都一样,你下载了Eclipse Installer打开了后,还是会要求你选择要安装的package的。所以我喜欢直接去下载我要的package。故这里点击"Download Package"后,打开各种Package的下载页面如下:
可以看到,Eclipse还有for C和C++,由于截图不全,下面还有for PHP,for JavaScript等等的,所以并不单单只是用于Java。当然,它最出名的还是用于Java开发。这里我们选择第一个,也就是最为人熟悉的那个"Eclipse IDE for Java EE Developers"进行下载。至于这个跟第三个"Eclipse IDE for Java Developers"有什么不一样,这大概是for JavaEE有JavaEE的组件,而单单for java的就没有Java EE的组件,无法进行Java EE工程开发,所以还是选择第一个进行下载即可。
三、运行Eclipse
成功下载后的"Eclipse IDE for Java Developers"包是这样子的:
直接这个包解压后,得到以下内容:
这样,我们就可以直接打开有图标那个eclipse.exe应用程序打开Eclipse了,无需对其进行安装。有朋友就事不宜迟了,马上打开eclipse.exe试试看,接着一个报错:
这意思是说,我们还没有配置JRE的环境。具体怎么配置JRE环境,请参考《Java之路——环境配置与编译运行》进行配置,这里就不多说了。配置好JRE环境之后,就能正常打开Eclipse了。
打开的过程中,会问你Workspace的位置在哪里。什么是Workspace呢?顾名思义,这就是你的工作空间,工作空间里面会摆放你的项目之类的工程,还会保存你工作时候的配置,让你一进入这个工作空间,就是你所熟悉的环境,以及你所工作的项目。选择好位置确定后,就可以真正进入Eclipse了。
恭喜你,看到这个界面,你就可以开始使用Eclilpse了。
在这里,我建议对Eclipse的文件字符集先进行配置。默认情况先,Eclipse的默认文件字符集是GBK,建议修改为UTF8,以获得更普遍的使用。具体操作:Windows——Preferences——Gerneral——Worksapce,在Text file encoding下选择Other:UTF-8,即可。这个配置是记录在你相应的Workspace下的,如果你下次启动的时候,选择另外一个Workspace的话,这个配置就是那个Workspace里面的配置了。正如你工作空间换了,那工作的环境也随之改变一样。
另外,在这里多说一句。在eclipse目录下,有一个eclipse.ini的配置文件,打开它初始内容如下:
在以后熟练后,可对这个配置文件就行修改,如Xms、Xmx等参数,以更好的优化Eclipse运行的性能。这是后话,大家先对此有个印象即可。
四、创建及运行第一个Java Project
把Welcome环境页关掉以后,我们可以得到一个很干净的Eclipse
由于现在的Eclipse干净得什么都没有,不好说明界面的各部分是用来干嘛,所以我们先创建一个Java Project后再进行说明。
选择File——New——Project后,会弹出一个导航,选择Java Project,Next
在Create a java Project里面,主要是输入Project name,这里输入HelloWorld,其他默认即可,直接finish。
创建后,会在界面左边的Project Explorer栏中看到我们刚建的HelloWorld工程。
其中,src目录里面将存放我们的源代码,而JRE System Library是自动导入的JRE环境的jar开发jar包。我们邮件点击src目录来创建一个class
在New Java Class窗口中,主要对Package、Name进行填写,以及勾上public static void main(String[] args)选项,并finish。
- Package:中文意思是包,简单说,就是用来区分同名类的。例如说HelloWorld这个类,我这里建了一个HelloWorld类,你也建了一个HelloWorld类,那在第三个类中引用HelloWolrd类的时候,到底是引用你的HelloWolrd类还是我的呢?无法区别!所以我们就要把我们的类建在一个自己独有的包中,例如我的me.huangzijian,怎么都不会有人用我的域名来做他的包名了吧。那在引用HelloWorld的时候,加上包名做前缀,如me.huangzijian.HelloWorld,那就不会与其他人的HelloWorld造成冲突了。
- Name:类名
- 勾选public static void main(String[] args):勾选后,HelloWolrd类里面会自动帮你创建main方法,就可以直接用main方法运行了。
创建成功后,就能看到我们的包及其类了。
我们在类中编写以下内容。
然后我们对其进行运行,预期会输出"Hello World"这一字符串。要运行这个类,在该类上右击——Run As——Java Application。
运行完毕,我们可以看到界面下方的Console控制台中,可以看到Hello World的字符串输出了。
这样,就成功创建和运行了你的第一个Java Project了。
五、界面介绍
通过上面创建Java Project以后,大家应该对Eclipse界面的布局有点了解了。这里再重温一下:
- Project Explorer:项目资源器,在这里,可以看到你关联到Workspace中的所有项目。如我们刚建立的HelloWorld项目,这上面就能看到了。
- 编辑区域:当你在Project Explorer中双击你要打开的.java文件的时候,区域2就会打开对应的文件,接着就可以在这个区域中进行代码的编辑。
- Outline:我们可以在这里,看到我们某个类中存在什么属性、什么方法之类的很多信息。这对于一个很大的类来说,当你要找某个方法或者某个属性的时候,是很方便的一个视图。
- Console:此为控制台,在这里可以看到程序输出的内容。有些主动输出的(system.out.println()),或者报错之类的内容都会在这里输出。在这个区域里,我们还会看到其他的tab,如Server、Properties之类的,这些Tab是可以通过Window——Show View里面去添加的。它们各有所用,大家在实际使用的时候可以都试试看,都有助于大家的开发效率的。
- Perspective:这个角落放的是Perspective的按钮。Perspective可以简单的理解为整个Eclipse界面按照某种工作模式需求而进行排版的视图。目前我们使用的是最右边那个Perspective,也就是Java EE Perspective。从这个Perspective的名字我们可以看出,这是适合Java EE开发的视图,也就是我们现在看到的这个Eclipse的各个区域组成的视图。我们还可通过区域中的第一个按钮,打开另外的一些Perspective。
从图中,我们可以看到有很多个Perspective。除了Java EE之后,我们用的比较多的还有Debug Perspective。顾名思义,Debug Perspective就是用来做调试用的界面,默认情况下如图:
可以看到,与Java EE Perspective有了不少的差别了。对于调试,后面章节还会详细介绍。
- 调试、运行:这个区域上面的按钮,主要是用来运行程序的。但这个运行又有所区别,它有以调试模式的运行,和正常模式的运行。当在程序中设置了断点的时候,以调试模式运行,则可将程序卡在断点处,以进行调试。而正常模式运行的时候,则直接忽略断点,正常运行程序。
对Eclipse这几个部分熟悉了以后,开发的操作也就加速很多了。
六、如何调试
在开发程序的时候,难免会遇到各种问题,各种报错,各种Exception。如果直接靠目测代码去找bug,是非常不容易的一件事情。这个时候Eclipse的调试模式就可以帮到你了。通过调试模式运行,我们可以在我们需要的地方停止运行,并且可以逐行前进,看各个变量的当前值之类的,非常方便。这里我们以上面的程序为例进行讲解。
先将程序做少许的改动,如下
运行结果为:
这样子,你就开始纳闷了,明明我想让它输出"Hello Wolrd"的,怎么变成了"Hello You"的呢?现在程序这么短,也许你一眼就能看出所以然。但我们重点不是这个,我们重点是,遇到这种情况怎么调试。这个例子从简单入手,以后你们遇到复杂的项目,也是这个道理,举一反三。那我们就开始调试了。
- 设置断点
断点的意思是,让程序运行到那个位置则暂停,由你去选择继续前进还是一些检查的操作。在这里,我们主要是要看看content变量究竟传了什么内容到say方法中,所以我们在helloworld.say(content);语句旁边双击,从而建立一个断点(真的是一个点哟)。
- 调试模式运行
在上面的界面介绍中已经介绍过这个调试模式了。在这里我们右键点击——Debug As——Java Application。则可进入调试模式运行状态。
在这里我们还可能会看到一个叫做"Debug on Server",那是什么意思呢?那是指这个程序运行在一个服务上面运行,例如说一个Web应用程序,我们需要它运行在Tomcat上,就是用这个。这里我们开发只是一个普通的Java应用程序,故选择Java Application。
- 打开Debug Perspective
关于Perspective,前面已经介绍过。通常情况下,要进入调试模式,Eclipse都会弹出要转到Debug Perspective的提示,直接Yes即可。若想不每次都弹出这个确认框,可以选择"Remember my decision"。
区域1:在这个Debug View中,我们可以看到目前运行的是哪个项目里面的哪个类中的哪个Thread中的哪个方法,目前停在哪一行上,让我们对总体情况有个了解。
区域2:代码区域,通过这部分视图,我们能看到目前暂停的那个类的代码,更直观的看到目前停在哪一行代码上,并且可以通过鼠标悬浮在某个变量上,直接得到这个变量的相关内容。如这个例子,我们首先是想知道传到helloWorld.say方法中的content内容是什么,这时候我们就可以直接将鼠标悬浮到content变量上,得到以下结果:
可以看到,content的内容是Hello World。
区域3:这个区域我们可以看到三个Tab:Variables、Breakpoints、Expressions。其中Expressions默认是没有的,我们可从Window——Show View——Expressions将其选上。个人建议加上Expressions这个VIew,可以方便有时查看某些表达式的结果,例如一个方法访问的值。下面简单介绍一下这三个Tab:
Variables:这个View会列出目前所见到的变量,并显示相应的值。当值有变化的时候,还会变黄色以作提醒。
Breakpoints:这里可以看到程序中的断点情况。
Expressions:在这个View中,我们可以输入想查询的表达式,它会显示对应的结果出来。例如你想知道content加个"!"字符串在后面会是什么结果,你可以这样处理:
区域4:这个区域的几个按钮对于这个操作的调试挺重要的。下面简单解释一下。
Resume:让程序继续运行,直到下一个断点,或者程序运行结束为止。用于你不需要在一行行往下走的情况下。
Terminate:让程序终止。通常用于你知道问题所在,需要修改代码,不需要再往下看的情况。
Step Into:让程序下一步跳到方法里面的代码去。通常用于你想跟踪到方法体内的代码的时候。例如此例子中,如果选择Step Into的话,就会进到say方法体内。
Step Over:让程序下一步跳到同一层面的下一步,不进入方法体内。例如此例子中,如果选择Step Over的话,就不会进入say方法体内,而是直接到main方法的结束位置了。
- 调试跟踪
以这个例子为例,我们尝试一下逐步跟踪下去看看怎么回事。目前停在helloWorld.say(content)这段代码中,我们在上面也看过content内容是"Hello World"了,那为什么会变成Hello You呢,那就得继续跟进下去。
通过Step Into,进入到say方法体中,运行到第6行代码:
接着我们按Step Over,完成第6行代码的执行,跳到第7行代码上。
此时可以看到,Variables View中的content变量也变黄色了,提醒开发者这个变量的值有了变化,变成"Hello You"了。此时我们基本上确认了,原来是在方法体内不小心改变了content变量的值。后面的内容就无需继续跟踪下去了,这是可以按Resume按钮,让程序走完,或者Terminal按钮,终止程序。
到此,如何调试这个问题,基本从这个简单例子中讲解完了。以后遇到复杂的工程,其实操作手段也是一样的。所以好好领悟这个简单例子,后面就能逐渐变成一个调试高手了。
七、获取插件
此部分内容这里暂时省略,待后面介绍Ecilpse使用一些插件(svn,m2e)之类的时候再详细介绍。其实无非就是直接下载了插件后放到Eclipse对应的目录,或者用Help里面的Install New Software…,或者Eclipse Marketplace…找插件之类的。
八、Eclipse 快捷键
这里在网上找了一张比较全的Eclipse快捷键图谱,共大家参考。
其中我个人用的比较多的,认为必须记住的,可提高编辑效率的有以下几个:
Ctrl + S |
保存 |
Ctrl + C |
复制 |
Ctrl + X |
剪切 |
Ctrl + V |
粘帖 |
Ctrl + Z |
恢复 |
Ctrl + A |
全选 |
Ctrl + D |
删除行 |
Ctrl + Shift + F |
格式化文档,也就是排版一下 |
Ctrl + F |
查询或者替换 |
F5 |
Step Into,调试时用 |
F6 |
Step Over,调试时用 |
Alt + Down |
行下移 |
Alt + Up |
行上移 |
Alt + / |
弹出提示 |
F3 |
跳到定义处 |
九、总结
此文没写得非常深入,但对于初接触Eclipse的同学来说,已经够充分了。除了一些很常见的介绍之后,大家一定要好好回味每一句中的内容,里面会解释了一些初学者对某些概念的不熟悉所导致的疑惑。正所谓读书百遍,其义自见,多读两遍,相信大家一定有不少收获!
初识Eclipse!!的更多相关文章
- 初识eclipse及配置相关
1. Eclipse 导入外部项目无法识别为Web项目并无法再部署到tomcat解决办法: http://www.cnblogs.com/heshan664754022/archive/2013/05 ...
- Java之路 ——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
- Java之路——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
- 软件开发工具(第8章:Eclipse工作台)
一.初识Eclipse工作台 Eclipse 工作台(Workbench)是一个高级用户界面框架,它为用 户提供了一个整体结构和可扩展的用户界面. 什么是工作空间(记忆) 工作空间(Workspace ...
- 006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序
006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序 Eclipse下创建程序 创建程序分为以下几个步骤: 1.首先是创建一个 ...
- 005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介
005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介 Eclipse是一款集成开发工具--IDE. 集成开发环境(IDE,Integrated ...
- Nodejs学习笔记(二)——Eclipse中运行调试Nodejs
前篇<Nodejs学习笔记(一)——初识Nodejs>主要介绍了在搭建node环境过程中遇到的小问题以及搭建Eclipse开发Node环境的前提步骤.本篇主要介绍如何在Eclipse中运行 ...
- Java初识
基础概念 特点: 完全面向对象,动态 解释性,简单.易移植,跨平台 安全健壮,高性能 多线程,分布式 三种核心机制: Java虚拟机 Java Virtual Machine 垃圾收集机制 Garba ...
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
随机推荐
- 【Electron】Electron开发入门(八):自定义electron框架外壳(shell)的菜单(Menu)
1.自定义electron框架外壳(shell)的菜单(Menu) electron的main.js里代码: const Menu = require('electron').Menu; var te ...
- Java版权信息之Jautodoc
Java项目开发中,常常需要在编码文件上面加上一些版权声明或者类注释,如果文件很多,手工去添加或者修改,会很麻烦.可以利用工具满足我们的要求.一.版权声明可以使用Jautodoc.将jautodoc的 ...
- Java基础之RTTI 运行时类型识别
运行时类型识别(RTTI, Run-Time Type Identification)是Java中非常有用的机制,在Java运行时,RTTI维护类的相关信息. 多态(polymorphism)是基于R ...
- 老李分享:Android性能优化之内存泄漏3
线程造成的内存泄漏 对于线程造成的内存泄漏,也是平时比较常见的,如下这两个示例可能每个人都这样写过: //——————test1 new AsyncTask<Void, Void, Void&g ...
- 取消putty右键粘贴功能
还是非常喜欢putty的.就是右键默认的粘贴功能比较讨人厌.
- (iOS)开发中收集的小方法
1.颜色转变成图片 - (UIImage *)createImageWithColor:(UIColor *)color { CGRect rect = CGRectMake(0.0f, 0. ...
- Log4j配置文件内容详解
.Log4j的优点 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送地:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控 ...
- Spring+Redis(keyspace notification)实现定时任务(订单过期自动关闭)
1.起因 最近公司项目要做订单超期未支付需自动关闭,首先想到的是用spring的定时器(@Schedule),结果领导举各种例子说会影响性能,只能作罢.后来想能不能基于redis实现, 学习(baid ...
- 为已有表快速创建自动分区和Long类型like 的方法-Oracle 11G
对上一篇文章进行实际的运用.在工作中遇到有一张大表(五千万条数据),在开始的时候忘记了创建自动分区,导致现在使用非常不方便,查询的速度非常的满,所以就准备重新的分区表,最原始方法是先创建新的分区表,然 ...
- MySQL操作符
简要介绍MySQL操作符 常用: 算术运算符.比较操作符.逻辑操作符.位运算符-- 一.算术运算符 +:加 -:减 *:乘 /:除,返回商 %,mod():除,返回余数 mysql> %,mod ...