Java之路——初识Eclipse
零、大纲
- 一、前言
- 二、获取Eclipse
- 三、运行Eclipse
- 四、创建及运行第一个Java Project
- 五、界面介绍
- 六、如何调试
- 七、获取插件
- 八、Eclipse 快捷键
- 九、总结
一、前言
俗话说,工欲善其事,必先利其器。在《Java之路——环境配置与编译运行》一章中,我们已经通过记事本,开始了我们的第一个Java程序。在文章,我们了解到要运行一个Java程序,并不是单单的在一个类中运行,可能会引用到别的类,引用到别的Jar包。简单的时候,项目引用一个两个jar包就可以了,但大多数的项目,需要引用十几个,甚至几十的个Jar包,如果在这种情况下还继续用记事本,通过javac等命令自己来处理,那就显得有点顾此失彼了。在怎么运行上花费了大量的时间,真正要开发的时间就必然会减少,整个工程的效率就会下降。这个时候,有一个好用的IDE作为开发只用,帮助你项目的管理、开发、编译、调式等等,会让你更专注于项目的核心开发,做到事半功倍。所以,作为入门的文章,本章Java之路主要对Eclipse进行介绍,让初学者可以开始通过IDE进行开发。要注意的是,本文看上去和众多初级介绍的内容相似,但文中加入了许多本人站在初学者的角度上觉得不懂的概念的解释,认真详读对你一定有收获!
二、获取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的同学来说,已经够充分了。除了一些很常见的介绍之后,大家一定要好好回味每一句中的内容,里面会解释了一些初学者对某些概念的不熟悉所导致的疑惑。正所谓读书百遍,其义自见,多读两遍,相信大家一定有不少收获!
Java之路——初识Eclipse的更多相关文章
- Java之路 ——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
- 初识Eclipse!!
Java之路 ——初识Eclipse 零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 ...
- Java之路——名词解释(一)
一.开篇 许多人在初接触Java的时候,都会被各种Java的英文缩写名词给弄得头晕脑胀.看一个技术,内容里又会有一堆其他的技术名词,看了半天不知所云.尝试去查一下这些名词的解释,除了非常学术性的解释之 ...
- Java之路——敬JAVA初学者(作者:MoMo)
作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊! 要离开学校了,还是想留 ...
- Java之路——环境配置与编译运行
本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...
- java.lang.ClassNotFoundException: org.eclipse.jetty.plus.webapp.EnvConfiguration
最近刚接触jetty,在myeclipse8.6中加入了一个项目,运行时就出了这个java.lang.ClassNotFoundException: org.eclipse.jetty.plus.we ...
- WPF学习之路初识
WPF学习之路初识 WPF 介绍 .NET Framework 4 .NET Framework 3.5 .NET Framework 3.0 Windows Presentation Found ...
- 【小白的java成长系列】——java ide 开发工具eclipse的操作
今天看了一下自己的博客文章,里面的内容还是比較杂的,有好多技术,有好多语言,都没有突出自己的强项,能够说,从博客里面,看不出我究竟是做哪块的..加上今天被授予了博客准专家勋章,自己想了一下,还是得梳理 ...
- 提高Java代码质量的Eclipse插件之Checkstyle的使用详解
提高Java代码质量的Eclipse插件之Checkstyle的使用详解 CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具.它能够自动化代 ...
随机推荐
- docker 安装 redis5.0.3
一.拉取官方5.0.3镜像 [root@localhost ~]# docker pull redis:5.0.3 下载完成 [root@localhost ~]# docker pull redis ...
- 《HelloGitHub》第 45 期
兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...
- monorepo仓库管理方式探秘
前言 随着功能和业务量级的飙升,前端代码量级也越来越大,管理运维的成本也进一步增加. 代码仓库的运营管理挑战也浮出水面. 主流方案有两种:一是multirepo式的分散式的独立仓库,二是monorep ...
- Liquibase 使用(全)
聊一个数据库脚本的版本工具 Liquibase,官网在这里 ,初次看到,挺神奇的,数据库脚本也可以有版本管理,同类型的工具还有 flyway . 开发过程经常会有表结构和变更,让运维来维护的话,通常会 ...
- eclipse中部署web项目时报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener的解决方法
解决方案: 1.右键点击项目--选择Properties,选择Deployment Assembly,在右边点击Add按钮,在弹出的窗口中选择Java Build Path Entries 2.点击N ...
- 分布式架构基石RPC的实现原理
RPC的由来 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时, ...
- 【一起学源码-微服务】Nexflix Eureka 源码五:EurekaClient启动要经历哪些艰难险阻?
前言 在源码分析三.四都有提及到EurekaClient启动的一些过程.因为EurekaServer在集群模式下 自己本身就是一个client,所以之前初始化eurekaServerContext就有 ...
- JAVA并发之锁获取步骤及锁优化
在另外的两篇文章中先后介绍了轻量级同步关键字volatile和重量级锁关键字synchronized,这两个关键字是Java语言中进行线程同步的基本方式(当然还有ReentrenLock等显式锁方式) ...
- 天梯 L2 紧急救援 (dijkstra变形+记录路径)
L2-001 紧急救援 (25 分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快速道 ...
- 每日一问2:堆(heap)和栈(stack)的区别
因为这里没有明确指出堆是指数据结构还是存储方式,所以两个尝试都回答一下. 一.堆和栈作为数据结构 1.堆(heap),也叫做优先队列(priority queue),队列中允许的操作是先进先出(FIF ...