1. 程式人生 > >Java之路 ——初識Eclipse

Java之路 ——初識Eclipse

cti 文章 啟動 eve 技術分享 win 恢復 高手 復制

零、大綱

  • 一、前言
  • 二、獲取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