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界面的布局有点了解了。这里再重温一下:

  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的同学来说,已经够充分了。除了一些很常见的介绍之后,大家一定要好好回味每一句中的内容,里面会解释了一些初学者对某些概念的不熟悉所导致的疑惑。正所谓读书百遍,其义自见,多读两遍,相信大家一定有不少收获!

时间: 2024-12-29 04:07:45

Java之路 ——初识Eclipse的相关文章

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

本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解之后,相信初学者们都对Java有了一个比较深印象的了解了.但是事情不能总停留在理论层面,还得多多实现,才能见真知.我觉得,学习一样东西,要遵循理论--实践--理论这样一个套路.先了解事情的基本概念,弄懂基本概念后,要想方设法的用到生活的点点滴滴上,这样能加深理论的记忆以及发现自己的盲点.在重复的实践

java.lang.NoClassDefFoundError: org/eclipse/jetty/util/thread/QueuedThreadPool$1

1.错误描述 [WARNING] FAILED qtp1691065417{8<=8<=8/254,0}: java.lang.NoClassDefFoundError: org/eclipse/jetty/util/thread/QueuedThreadPool$1 [WARNING] FAILED [email protected]: java.lang.NoClassDefFoundError: org/eclipse/jetty/util/thread/QueuedThreadPool

eclipse启动错误:java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer

转自:http://blog.csdn.net/niu_hao/article/details/9332521 eclipse启动时报错如下:java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer解决方法:可能是丢失部分起动文件,解决... eclipse启动时报错如下: java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer 解

maven的坑: Exception in thread &quot;pool-1-thread-1&quot; java.lang.NoClassDefFoundError: org/eclipse/aether/spi/connector/Transfer$State

搭建ReboletricSample的环境: 搭建完成,执行的时候报错: Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/aether/spi/connector/Transfer$State at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.j

LUA学习之路--初识LUA

LUA在葡萄牙语中是“月亮”的意思.1993年由巴西的Ponifical Catholic University开发.该语言是由一个来自计算机图形技术组织的团队开发,并作为自由软件发行.LUA开发小组的目标是开发一种小巧.高效并且能够很好的和C语言一起工作的编程语言.在脚本语言领域,LUA是最快.最高效的脚本语言之一. LUA和传统的脚本语言不同,它是一种易整合语言(glue language).一般的脚本语言用于控制执行重复的任务,而易整合语言可以让使用者把其他语言的功能整合在一起.这样就让脚

java 在centos6.5+eclipse环境下调用opencv实现sift算法

java 在centos6.5+eclipse环境下调用opencv实现sift算法,代码如下: import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.MatOfKeyPoint; import org.opencv.highgui.Highgui; import org.opencv.features2d.*; public class ExtractSIFT{ public static

Java,AWTUtilities,eclipse报编译错误:Access restriction: The type &#39;AWTUtilities&#39; is not API (restriction on required library &#39;C:\Program Files\Java\jre7\lib\rt.jar&#39;)

[场景]调用com.sun.awt.AWTUtilities时,eclipse提示编译错误: Access restriction: The type 'AWTUtilities' is not API (restriction on required library 'C:\Program Files\Java\jre7\lib\rt.jar') [分析]eclipse项目默认的jre版本较早. com.sun.awt.AWTUtilities是在JDK 6 update10中增加的. [解决

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

今天看了一下自己的博客文章,里面的内容还是比較杂的,有好多技术,有好多语言,都没有突出自己的强项,能够说,从博客里面,看不出我究竟是做哪块的..加上今天被授予了博客准专家勋章,自己想了一下,还是得梳理一下自己的知识点,事实上我是做java开发,眼下职位是java高级开发project师. 今天来说说java的IDE神器--eclipse. 1.下载地址:http://www.eclipse.org/downloads/ 前提是你要安装好jdk,參照http://blog.csdn.net/ens

java之路的开启

去年大学要毕业的时候,同学都急着找工作,可是我不急,那时候十分迷茫,不知道毕业之后能干嘛,自己的兴趣是什么. 忘了说,我是网络工程毕业的,近几年互联网的升温使得这专业还算可以的. 我和舍友依旧在玩lol,仿佛时间一直停留着,可是毕业的时间还是来临了,答辩之后,各奔东西. 我也从校园里走了出来,我开始找工作. 58同城,赶集网,人才市场到处找关于专业的工作,可是我不感兴趣. 好不容易去面试了一家,说是电话推销的:另外一家等同于公司网管. 其实我也没有找几家,家里也不是那么的着急. 忘了说我大四干嘛