零、大纲

  • 一、前言
  • 二、获取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界面的布局有点了解了。这里再重温一下:

  1. Project Explorer:项目资源器,在这里,可以看到你关联到Workspace中的所有项目。如我们刚建立的HelloWorld项目,这上面就能看到了。
  2. 编辑区域:当你在Project Explorer中双击你要打开的.java文件的时候,区域2就会打开对应的文件,接着就可以在这个区域中进行代码的编辑。
  3. Outline:我们可以在这里,看到我们某个类中存在什么属性、什么方法之类的很多信息。这对于一个很大的类来说,当你要找某个方法或者某个属性的时候,是很方便的一个视图。
  4. Console:此为控制台,在这里可以看到程序输出的内容。有些主动输出的(system.out.println()),或者报错之类的内容都会在这里输出。在这个区域里,我们还会看到其他的tab,如Server、Properties之类的,这些Tab是可以通过Window——Show View里面去添加的。它们各有所用,大家在实际使用的时候可以都试试看,都有助于大家的开发效率的。
  5. Perspective:这个角落放的是Perspective的按钮。Perspective可以简单的理解为整个Eclipse界面按照某种工作模式需求而进行排版的视图。目前我们使用的是最右边那个Perspective,也就是Java EE Perspective。从这个Perspective的名字我们可以看出,这是适合Java EE开发的视图,也就是我们现在看到的这个Eclipse的各个区域组成的视图。我们还可通过区域中的第一个按钮,打开另外的一些Perspective。

    从图中,我们可以看到有很多个Perspective。除了Java EE之后,我们用的比较多的还有Debug Perspective。顾名思义,Debug Perspective就是用来做调试用的界面,默认情况下如图:

    可以看到,与Java EE Perspective有了不少的差别了。对于调试,后面章节还会详细介绍。

  6. 调试、运行:这个区域上面的按钮,主要是用来运行程序的。但这个运行又有所区别,它有以调试模式的运行,和正常模式的运行。当在程序中设置了断点的时候,以调试模式运行,则可将程序卡在断点处,以进行调试。而正常模式运行的时候,则直接忽略断点,正常运行程序。

对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的更多相关文章

  1. Java之路 ——初识Eclipse

    零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...

  2. 初识Eclipse!!

      Java之路 ——初识Eclipse   零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 ...

  3. Java之路——名词解释(一)

    一.开篇 许多人在初接触Java的时候,都会被各种Java的英文缩写名词给弄得头晕脑胀.看一个技术,内容里又会有一堆其他的技术名词,看了半天不知所云.尝试去查一下这些名词的解释,除了非常学术性的解释之 ...

  4. Java之路——敬JAVA初学者(作者:MoMo)

    作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊!    要离开学校了,还是想留 ...

  5. Java之路——环境配置与编译运行

    本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...

  6. java.lang.ClassNotFoundException: org.eclipse.jetty.plus.webapp.EnvConfiguration

    最近刚接触jetty,在myeclipse8.6中加入了一个项目,运行时就出了这个java.lang.ClassNotFoundException: org.eclipse.jetty.plus.we ...

  7. WPF学习之路初识

    WPF学习之路初识   WPF 介绍 .NET Framework 4 .NET Framework 3.5 .NET Framework 3.0 Windows Presentation Found ...

  8. 【小白的java成长系列】——java ide 开发工具eclipse的操作

    今天看了一下自己的博客文章,里面的内容还是比較杂的,有好多技术,有好多语言,都没有突出自己的强项,能够说,从博客里面,看不出我究竟是做哪块的..加上今天被授予了博客准专家勋章,自己想了一下,还是得梳理 ...

  9. 提高Java代码质量的Eclipse插件之Checkstyle的使用详解

    提高Java代码质量的Eclipse插件之Checkstyle的使用详解 CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具.它能够自动化代 ...

随机推荐

  1. docker 安装 redis5.0.3

    一.拉取官方5.0.3镜像 [root@localhost ~]# docker pull redis:5.0.3 下载完成 [root@localhost ~]# docker pull redis ...

  2. 《HelloGitHub》第 45 期

    兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...

  3. monorepo仓库管理方式探秘

    前言 随着功能和业务量级的飙升,前端代码量级也越来越大,管理运维的成本也进一步增加. 代码仓库的运营管理挑战也浮出水面. 主流方案有两种:一是multirepo式的分散式的独立仓库,二是monorep ...

  4. Liquibase 使用(全)

    聊一个数据库脚本的版本工具 Liquibase,官网在这里 ,初次看到,挺神奇的,数据库脚本也可以有版本管理,同类型的工具还有 flyway . 开发过程经常会有表结构和变更,让运维来维护的话,通常会 ...

  5. eclipse中部署web项目时报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener的解决方法

    解决方案: 1.右键点击项目--选择Properties,选择Deployment Assembly,在右边点击Add按钮,在弹出的窗口中选择Java Build Path Entries 2.点击N ...

  6. 分布式架构基石RPC的实现原理

    RPC的由来 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时, ...

  7. 【一起学源码-微服务】Nexflix Eureka 源码五:EurekaClient启动要经历哪些艰难险阻?

    前言 在源码分析三.四都有提及到EurekaClient启动的一些过程.因为EurekaServer在集群模式下 自己本身就是一个client,所以之前初始化eurekaServerContext就有 ...

  8. JAVA并发之锁获取步骤及锁优化

    在另外的两篇文章中先后介绍了轻量级同步关键字volatile和重量级锁关键字synchronized,这两个关键字是Java语言中进行线程同步的基本方式(当然还有ReentrenLock等显式锁方式) ...

  9. 天梯 L2 紧急救援 (dijkstra变形+记录路径)

    L2-001 紧急救援 (25 分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快速道 ...

  10. 每日一问2:堆(heap)和栈(stack)的区别

    因为这里没有明确指出堆是指数据结构还是存储方式,所以两个尝试都回答一下. 一.堆和栈作为数据结构 1.堆(heap),也叫做优先队列(priority queue),队列中允许的操作是先进先出(FIF ...