服務器在編程中的應用_第1頁
服務器在編程中的應用_第2頁
服務器在編程中的應用_第3頁
服務器在編程中的應用_第4頁
服務器在編程中的應用_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、注意用戶名和口令直接填Windows的用戶名和口令,然后選中“Validate Connection on Finish”,點擊Finish完成: 首先,我們要將一個現(xiàn)有的工程放到CVS服務器中,切換到Package Explorer,選中Hello工程,右鍵點擊,選擇Team->Share Project: 使用剛才我們添加的Repository,繼續(xù),并將所有文件都添加到CVS中,最后Eclipse提示Commit: 填入一個簡單的注釋,確定,然后Eclipse會把整個工程提交到CVS服務器,可以在Package Explorer中看到圖標發(fā)生了變化,Hello.java文件后面會有

2、版本號1.1。在CVS Repositories面板中刷新,可以看到剛添加進來的工程: 在團隊開發(fā)中,當創(chuàng)建了一個基本的工程并提交到CVS后,別的開發(fā)人員首先要Check Out這個工程到各自的本地計算機上,這里為了演示,首先我們在Package Explorer中刪除Hello工程,然后打開CVS Repositories(如果沒有看到Repository就按照上面的方法添加Repository),選擇Hello工程,右鍵點擊,選擇Check Out As: 作為一個Project簽出,就可以在Package Explorer中看到簽出的工程。當對某些源文件作了修改后,需要提交更改到CVS服

3、務器。選中更改的文件或工程,右鍵點擊,選擇Team->Commit: 然后填入簡單的注釋,就可以提交到CVS服務器上了,可以看到源文件的版本號變成了1.2。以上簡單介紹了如何搭建CVS服務器以及在Eclipse中如何使用CVS,可以參考CVS手冊以便了解Branch、Merge等更多功能的使用。 版本控制在團隊開發(fā)中是必不可少的。CVS是優(yōu)秀的開源版本控制軟件,Eclipse本身就內(nèi)置了對CVS的支持,只需簡單配置,即可使用CVS。首先我們要正確安裝并配置好CVS服務器,通常Linux Server都自帶CVS服務,不過命令行操作比較繁瑣。Windows下也有簡單易用的CVS服務器,這里

4、我們推薦CVSNT,可以下載CVSNT 2.0.51a,安裝并啟動CVSNT: 然后切換到Repositories面板,添加一個Repository,命名為/cvs-java,CVSNT會提示是否初始化這個Repository,選擇是: 然后在Advanced面板上選中“Pretend to be a Unix CVS version”: 然后,在Windows賬戶中為每一個開發(fā)人員添加用戶名和口令?,F(xiàn)在,CVSNT的安裝配置已經(jīng)完成,下一步,啟動Eclipse,我們可以使用原有的Hello工程,或者新建一個Project,然后選擇菜單Window->Show View->Othe

5、r,打開CVS->CVS Repositories: 然后點擊按鈕,添加一個Repository: 本文來自:Linux教程 - 一、安裝和配置準備您需要安裝 Eclipse 3.0M9、J2ME Wireless Toolkit 2.1和EclipseMe,Eclipse是IBM公司資助的開源 IDE 開發(fā)環(huán)境,Eclipse正受到越來越多的開發(fā)人員的關(guān)注。J2ME Wireless Toolkit 2.1提供了運行 J2ME 應用程序所需要的庫以及模擬器等。EclipseMe 插件可以讓開發(fā)人員在 Eclipse 環(huán)境中輕松開發(fā)J2ME應用程序。1 安裝關(guān)于在哪里下載以下軟件的鏈接,

6、請參閱參考資料部分:1. 從 Eclipse 的 Web 站點上下載 Eclipse v3.0M9。您可以通過將其解壓到任何一個選定的目錄(這個目錄在本文中稱為 eclipse_home)中來安裝它。2. 從 Sun公司 的 Web 站點上下載 J2ME Wireless Toolkit 2.1。您可以安裝到任何一個選定的目錄中(這個目錄在本文中稱為 wtk_home)。3. 從 SourceForge 上下載EclipseME插件V 0.4.5。您可以通過將其解壓到 eclipse_home/eclipse/plugins 目錄中來安裝它。4. 從 Sun 的 Web 站點上下載 J2SE

7、SDK。您可以將其安裝到任何一個選定的目錄(這個目錄在本文中稱為 java_home)中。本文中J2SE SDK 的版本是 v1.4.2。2 配置EclipseME 插件要配置EclipseME 插件,執(zhí)行以下步驟:1. 啟動 Eclipse。2. 配置 EclipseME 插件。要實現(xiàn)這個功能,請單擊"Window"菜單,然后選擇"Preferences"菜單項,然后在彈出的菜單中選擇"J2ME"。然后執(zhí)行以下步驟:點擊"Platform Components",見圖1。右鍵單擊右邊窗口"Wireles

8、s Toolkits",選擇"Add Wireless Toolkit",此時會彈出窗口(見圖2),"Wireless Toolkit Directory"設(shè)置為wtk_home對應的安裝目錄。 圖 1 EclipseME 插件配置界面 3. 安裝完成之后應該出現(xiàn)如圖3的界面。 圖2 添加Wireless Toolkit 圖3配置EclipseME 插件 - 最終結(jié)果 二、開發(fā) J2ME應用程序在本節(jié)中,我們將介紹使用 EclipseMe 插件構(gòu)建 J2ME 應用程序的基本步驟。首先,您將創(chuàng)建一個 J2ME 項目。然后,您可以開始您的J2ME開

9、發(fā)之旅。1 創(chuàng)建 J2ME項目要創(chuàng)建一個 J2ME 項目,回到"File"菜單,選擇"New"項,并在子菜單中選擇"Project"。然后執(zhí)行以下步驟:(1.) 進入"J2ME"選項,選擇"J2ME Midlet Suite"并單擊"Next"(參見圖4)。(2.) 填上項目名,并單擊"Next"(參見圖5)。(3.) 選擇可能的平臺定義??梢赃x擇"J2ME Wireless Toolkit 2.1 MIDP1.0 Platform"或

10、者"J2ME Wireless Toolkit 2.1 MIDP1.0 Platform",默認為前者。(參見圖6)。(4.) 單擊"Next",出現(xiàn)J2ME項目有關(guān)設(shè)置,這里我們均采用默認設(shè)置(參見圖7)。(5.) 單擊"Finish",完成項目創(chuàng)建。最終創(chuàng)建 J2ME 項目的結(jié)果如圖8所示。 圖 4. 創(chuàng)建 J2ME 項目 - 步驟 1 圖 5. 創(chuàng)建 J2ME 項目 - 步驟 2 圖 6. 創(chuàng)建 J2ME 項目 - 步驟 3 圖 7. 創(chuàng)建 J2ME 項目 - 步驟 4 圖 8. 創(chuàng)建 J2ME 項目 - 最終結(jié)果 2開發(fā) J2

11、ME項目要創(chuàng)建一個 J2ME 應用程序,回到"File"菜單,選擇"New"項,并在子菜單中選擇"Other"。然后執(zhí)行以下步驟:(1). 進入"J2ME"選項,選擇"J2ME Midlet"并單擊"Next"(參見圖9)。(2). 填上應用程序名,其他設(shè)置采用默認設(shè)置,并單擊"Finish"(參見圖10),完成應用程序創(chuàng)建。 圖 9. 創(chuàng)建 J2ME 應用程序 - 步驟 1 圖 10 創(chuàng)建 J2ME 應用程序 - 步驟2 系統(tǒng)會自動生成HelloWorl

12、d.java程序以及一段自動生成的代碼,最終的程序代碼見清單1。清單 1. HelloWorld.java/* HelloWorld.java* author WanHui*/import javax.microedition.lcdui.Display;import javax.microedition.lcdui.TextBox;import javax.microedition.midlet.MIDlet;public class HelloWorld extends MIDlet private TextBox textbox; /* * Constructor of the Hell

13、oWorld class */ public HelloWorld() textbox = new TextBox("", "Hello World!", 20, 0); /* * The startApp method is used for starting or restarting a MIDlet. * * see javax.microedition.midlet.MIDlet#startApp() */ public void startApp() Display.getDisplay(this).setCurrent(textbox);

14、/* * The pauseApp method is called by the system to ask a MIDlet to "pause" * * see javax.microedition.midlet.MIDlet#pauseApp() */ public void pauseApp() /* * The destroyApp method is called by the system when the MIDlet is about to * be destroyed * * see javax.microedition.midlet.MIDlet#d

15、estroyApp(boolean) */ public void destroyApp(boolean unconditional) 3 運行J2ME應用程序要運行一個 J2ME 應用程序,選中一個應用程序,本文中為HelloWorld.java,然后回到"Run"菜單,選擇"Run As"項,并在子菜單中選擇"1 Emulated J2ME Midlet"。然后Eclipse會啟動J2ME Wireless Toolkit 2.1中的模擬器得到運行結(jié)果見圖11。 圖 11 J2ME 應用程序運行結(jié)果 結(jié)束語在本文中,我們介紹了 E

16、clipse IDE 開發(fā)環(huán)境下使用EclipseMe插件開發(fā)J2ME程序。您已經(jīng)學習了在Eclipse環(huán)境下如何創(chuàng)建了一個簡單的J2ME應用程序。 在用戶界面中,如何顯示擴展,顯示在何處?這在很大程度上是一個溫和的提示,因為我們已得到了答案。我們希望對一個或多個選中的方法顯示上下文菜單選項,這些菜單選項允許我們只用一個操作就可以更改方法的可視性。我們更喜歡在可以顯示方法的任何地方都能使用這些菜單選項,如在 Hierarchy 視圖和 Package Explorer 中。這把我們帶到下一個問題。通常如何擴展用戶界面?通過示例來學習會更有趣,這方面 Plug-in Project 向?qū)Э梢蕴峁?/p>

17、幫助,它提供了一些樣本代碼,我們可以修改這些代碼來滿足我們的需要。我們將回答該向?qū)е械膸讉€問題,它將自動啟動用于插件開發(fā)的專門透視圖,稱為 Plug-in Development Environment(PDE),以準備測試。該向?qū)О丝梢詭椭覀內(nèi)胧值脑S多示例。事實上,我們的老朋友“Hello World”也在那里。為了沿襲這個傳統(tǒng),我們將生成這個“Hello World”,查看結(jié)果以驗證是否正確安裝了該環(huán)境,隨后修改它以幫助我們回答當前的問題,并把我們帶到下一個問題:對用戶界面的擴展如何知道類似于“選擇”這樣的?臼錄空夂苤匾蛭頤竅頤切陸氳牟說鈑玫降鼻把械姆椒稀?請注意,這些指示信息假定您

18、正從全新的 Eclipse 安裝開始。如果修改了該環(huán)境或更改了首選項,那么可能不會完全象如下所述那樣工作。您可以考慮從全新的工作空間啟動 Eclipse:打開命令提示符窗口,更改到 eclipse 目錄,然后使用 -data 參數(shù)啟動 Eclipse,如清單 1 所示。清單 1. 啟動全新的 Eclipse 實例cd c:eclipse2.1eclipseeclipse.exe -data workspaceDevWorks從使用 New Plug-in Project 向?qū)?chuàng)建一個插件項目開始。選擇 File > New > Project。在 New Project 對話框中,

19、在向?qū)Я斜碇羞x擇 Plug-in Development and Plug-in Project,然后選擇 Next。將項目命名為 com.ibm.lab.helloworld。該向?qū)⒏鶕?jù)這個名稱創(chuàng)建插件標識,所以它在系統(tǒng)中必須是唯一的(按慣例,項目名和插件標識相同)。使用顯示在“Project contents”下面的推薦缺省工作空間位置就可以了;選擇 Next。在下一頁上,選擇 Next 以接受缺省插件項目結(jié)構(gòu)。該插件代碼生成器頁推薦了許多樣本,向?qū)Э梢詭椭M一步對該項目進行參數(shù)化。選擇“Hello, World”選項,然后選擇 Next。下一頁(顯示在圖 4 中)推薦了插件名和插件類

20、名。這些名稱基于插件項目 com.ibm.lab.helloworld 的最后一個單詞。這個示例不需要任何插件類便利方法,所以取消對三個代碼生成選項的選擇(如圖 4 所示),然后選擇 Next(不是 Finish;您還有一頁要完成)。 圖 4. Simple Plug-in Content您可以在下一頁(顯示在圖 5 中)中指定參數(shù),這些參數(shù)對于“Hello, Worlds”示例是唯一的,比如,將要顯示的消息。 圖 5. Sample Action Set要簡化所產(chǎn)生的代碼,將該操作的目標包名從 com.ibm.lab.helloworld.actions 更改成 com.ibm.lab.he

21、lloworld,即與該項目的名稱相同。盡管在實際的插件中,您可以選擇用不同的包對相關(guān)的類進行分組,但在本例中,只有兩個類,所以不必這樣做。這樣也遵循了“主”包名和項目名相同這個慣例。現(xiàn)在選擇 Finish。您應該看到一個信息消息:“Plug-ins required to compile Java classes in this plug-in are currently disabled. The wizard will enable them to avoid compile errors.”。選擇 OK 繼續(xù)。如果這是個全新的工作空間,那么您還將看到另一個信息消息:“This kind

22、 of project is associated with the Plug-in Development Perspective. Do you want to switch to this perspective now?”。 選擇 Yes 以根據(jù)這個消息的建議進行切換。要驗證所有的東西是否都設(shè)置正確,讓我們測試新插件。選擇 Run > Run As > Run-Time Workbench。這將啟動 Eclipse 的第二個實例,它將包含您的插件。這個新實例將創(chuàng)建一個新的名為 runtime-workspace 的工作空間目錄,所以不必擔心;對這個實例所作的任何測試都不會影

23、響開發(fā)設(shè)置。您應該看到類似圖 6 的樣子,其中有一個新的下拉菜單,其標簽為 Sample Menu,它有單一的選項 Sample Action。選擇它將顯示下面的信息消息。如果您不是從全新的工作空間啟動,那么可以選擇 Window > Reset Perspective 以查看新生成的下拉菜單;從現(xiàn)有工作空間啟動時不會顯示這個菜單,因為工作臺“記得”上次 Eclipse 運行時哪些操作集是活動的(您還可以從 Window > Customize Perspective.下拉菜單選項上添加刪除操作集)。 圖 6. Hello, Eclipse world讓我們快速瀏覽一下插件清單文件

24、 plugin.xml。雙擊它,以在 Plug-in Manifest 編輯器中打開它。這個編輯器提供了幾個類似于向?qū)У捻摵鸵粋€“原始”源代碼頁。通過選擇 Source 選項卡轉(zhuǎn)到源代碼頁。您將看到與以下清單 2 顯示的代碼相似的內(nèi)容;我們感興趣的是用粗體顯示的那幾部分。清單 2. 所生成的“Hello, World” plugin.xmlpoint="org.eclipse.ui.actionSets">>label="Sample Action Set"visible="true"id="com.ibm.la

25、b.helloworld.actionSet">label="Sample &Menu"id="sampleMenu">name="sampleGroup">label="&Sample Action"icon="icons/sample.gif"class="com.ibm.lab.helloworld.SampleAction"tooltip="Hello, Eclipse world"menubarPath

26、="sampleMenu/sampleGroup"toolbarPath="sampleGroup"id="com.ibm.lab.helloworld.SampleAction">并不需要過于深入地研究這個代碼。我們“旅行”的第 II 部分的目的只是讓您熟悉一些基本機制,借此我們可以介紹 JDT 的擴展。這里,您會看到這樣一種技術(shù)的一個樣本:它將菜單和菜單選項作為操作集添加到工作臺。它以一個用 標記聲明的擴展開始。工作臺用戶界面插件定義了這個擴展點 org.eclipse.ui.actionSets,以及幾個類似的擴展點,通過

27、這幾個擴展點可以向各種用戶界面元素提供其它插件。我們還未回答如何將菜單選項添加到 Java 方法的上下文菜單中。一個簡單示例可以給我們一些提示。首先打開顯示“Hello, World”消息的類 SampleAction,請注意其 run 方法。它不是特別有趣;不過我們還看到了另一個方法 selectionChanged。啊哈!下一個問題的答案有了。對用戶界面的擴展如何知道類似于“選擇”這樣的基本事件?工作臺“選擇”更改時會告知所提供的操作(象我們提供的菜單下拉選項)。這在 selectionChanged 方法前面的 Javadoc 注釋中得到了確認。讓我們修改這個方法以告知有關(guān)“選擇”的更多

28、信息。首先,如果您還沒有關(guān)閉工作臺的運行時實例,那么現(xiàn)在就關(guān)閉。然后對 selectionChanged 方法添加清單 3 中的代碼。清單 3. selectionChanged 方法,首次修改public void selectionChanged(IAction action, ISelection selection) System.out.println("=> selectionChanged");System.out.println(selection);有了這個調(diào)試代碼,我們將看到選擇了什么,并了解到有關(guān)什么使 Eclipse 工作的更多信息。保存該方法

29、,然后重新啟動運行時工作臺。重要:Eclipse 有一個延遲裝入的策略,以在用戶執(zhí)行需要插件代碼的操作時才裝入插件。所以您必須先選擇 Sample Action 菜單選項,以在調(diào)用 selectionChanged 方法之前裝入您的插件?,F(xiàn)在選擇其它東西,如編輯器中的文本、Navigator 中的文件,當然還有 Outline 視圖中的成員(回憶一下:您必須創(chuàng)建一個 Java 項目和示例 Java 類來做到這一點,因為運行時實例使用不同的工作空間)。清單 4 顯示了您將在 Eclipse 的開發(fā)實例的控制臺中看到的某個示例輸出。清單 4. selectionChanged 輸出,首次修改=&g

30、t; selectionChangedpackage com.ibm.lab.soln.jdt.excerpt in Working copy ChangeIMemberFlagAction.javain com.ibm.lab.soln.jdt.excerpt in src in com.ibm.lab.soln.jdt.excerpt=> selectionChanged=> selectionChangedorg.eclipse.jface.text.TextSelection9fca283=> selectionChanged=> selectionChange

31、dpackage com.ibm.lab.soln.jdt.excerpt in Working copy ChangeIMemberFlagAction.javain com.ibm.lab.soln.jdt.excerpt in src in com.ibm.lab.soln.jdt.excerpt=> selectionChangedIMember members in ChangeIMemberFlagAction in Working copy ChangeIMemberFlagAction.javain com.ibm.lab.so 如有不明白之處,歡迎參加社區(qū)討論Eclip

32、se 的 Java 開發(fā)環(huán)境的重構(gòu)(refactor)能力是它提供的最有用的特性之一。本文將向您介紹創(chuàng)建您自己的重構(gòu)(作為 Eclipse 的自然擴展)步驟。本文所提供的解決方案的許多部分摘自最近出版的 The Java Developer's Guide to Eclipse 一書。由于 Eclipse 具有功能強大的 Java 開發(fā)環(huán)境,這使它獲得了人們的一致好評。這個 Java 開發(fā)環(huán)境(再加上團隊環(huán)境和其它基礎(chǔ)功能)使 Eclipse 成為引人注目的集成開發(fā)環(huán)境,對 Java 開發(fā)人員來說,這是個好消息。而且,Eclipse 還是一個開放源碼項目。但真正使人們對 Eclipse

33、 感到興奮的是它提供了擴展的可能性。許多基于 Eclipse 的商用產(chǎn)品都顯示出這種提供集成產(chǎn)品的方法的實際意義。例如,IBM WebSphere Application Developer 和 Rational XDE 就說明了 Eclipse 已具有的影響。這些產(chǎn)品和其它基于 Eclipse 的產(chǎn)品降低了用戶的“學習曲線”,因為它們具有類似的用戶界面。當然,對于大型軟件公司來說,這頗有價值,但是對于小公司或個人有什么用嗎?這正是 Eclipse 擴展性能力讓人感興趣的地方。不僅那些擁有大型開發(fā)組織的公司可以用它進行集成,任何愿意花些時間學習幾個 Eclipse 框架的人也都可以利用這一能力

34、。“哦不,”您可能在想,“別再提什么框架;我沒時間學習更多框架。”不必擔心;這學起來很快而且相當容易。在您的另一絲疑慮在頭腦中開始形成之前,先聲明一點,本文絕不是對 Eclipse 進行毫無價值的“hello world”式擴展。請放心,在如何增強 Eclipse 的 Java 開發(fā)環(huán)境的生產(chǎn)性使用方面,您將看到實際的價值以及一個清晰演示。您甚至還可能有點驚奇地發(fā)現(xiàn):要完成某些相當令人驚異的事情,只要幾十行代碼就可以了。本文將向您展示什么是可能的,從哪里開始,并將向您提供開始時需要什么的可靠評價。盡管擴展 Eclipse 是一個高級主題,但是您只要先了解如何使用 Eclipse 的 Java

35、開發(fā)環(huán)境就可以了。自己輕松重構(gòu)成員可視性最初在編寫代碼時,我沒有過多地擔心將方法可視性歸為 default(包)、private、public 還是 protected。在創(chuàng)建方法時,我使它們都為 public。只有當我最后定下了包的組織結(jié)構(gòu)并完成了對方法的重構(gòu) 不管是通過從現(xiàn)有代碼抽取出新方法、在層次結(jié)構(gòu)中上移或下移方法還是將方法整個地移至其它類中 我才會重新檢查方法的可視性。我認為,在我知道最終類的模樣并實際使用過代碼之前,我不想聲明我的“客戶們”可能需要什么。換句話說,在共享新框架之前,必須確定什么是實現(xiàn)細節(jié),什么是必需的,這樣別人才能夠擴展它。如果只需在 Outline 視圖、Hier

36、archy 視圖或任何您查看方法的地方選擇方法 然后通過單擊菜單選項,就可以將一個或多個方法設(shè)置成所期望的可視性 那么這會非常方便。誠然,我習慣了在我使用 VisualAge for Smalltalk 那段日子里學到的這一功能。圖 1 顯示了對 Eclipse 的 Java 開發(fā)環(huán)境中 Java 編輯器的 Outline 視圖上下文的擴展。 圖 1. 對方法的上下文菜單進行的擴展從用戶的角度而言,這很巧妙,因為這是引入用戶界面的很自然的方法。沒有任何暗示說這些新的菜單選項不屬于 Eclipse 最初的 Java 開發(fā)工具(Java Development Tool,JDT)。事實上,那就是菜

37、單級聯(lián)使用“soln”前綴的原因 這樣您就可以分辨出它是一個擴展!而且,開發(fā)人員不必記住只有在特定視圖或編輯器中才可以使用這些選項,因為只要方法顯示在哪里,它們就可以在哪里顯示。簡述“Hello World”“嘿,等一下,您承諾過不會有Hello, World的!”是的,但在我們開始討論真正有趣的事情之前,確實需要先來了解一下 Eclipse 的基礎(chǔ)。所以,如果您從未編寫過自己的 Eclipse 擴展,那么請和我一起快速了解一下 Eclipse 的體系結(jié)構(gòu)和插件開發(fā)環(huán)境。否則,請?zhí)料乱还?jié)。繼續(xù)這次“旅行”!本質(zhì)上,Eclipse 是一組松散綁定但互相連接的代碼塊。如果搞清楚這些代碼塊如何被“

38、發(fā)現(xiàn)”,以及它們之間怎樣相互發(fā)現(xiàn)和擴展,就能了解 Eclipse 體系結(jié)構(gòu)的基本原理。 圖 2. Eclipse 平臺體系結(jié)構(gòu)這些功能單元稱為插件。Eclipse 平臺運行時(參見圖 2)負責在名為 plugin.xml 的文件中查找這些插件的聲明(稱為插件清單),每個 plugin.xml 文件都在各插件的子目錄中,這些子目錄位于 Eclipse 的安裝目錄下名為 plugins 的公共目錄(具體而言,就是 eclipseplugins)。根據(jù)這些文件,Eclipse 平臺運行時就在啟動時在內(nèi)存中構(gòu)建一個全局注冊表,稱為插件注冊表,根據(jù)這個注冊表,給定的插件就可以在運行時確定其它哪些插件希望

39、擴展它。希望被其它插件擴展的插件將聲明一個擴展點。這是插件的某種“電源板”,通過對插件聲明擴展,其它插件就可以利用這個插件?;氐轿覀兊氖纠?,那么任務就是通過查找滿足我們需要的相應擴展點來決定從哪里“插入” Eclipse。幸運的是,一旦使用 Eclipse 一段時間后,您就會知道有數(shù)量驚人的東西可以使用,盡管可能您還沒有實際使用過。這是因為您在 Eclipse 用戶界面所看到的與由構(gòu)成 Eclipse 插件的類所建的模型通常幾乎是一一對應的。圖 3 使這一點更為清晰: 圖 3. 視圖及其模型這里我們看到一系列普通的用戶界面,右側(cè)的是最廣為人知的用戶界面 命令提示符(Command Prompt

40、)窗口,在其中用 dir 命令顯示文件系統(tǒng)內(nèi)容,然后是左邊專門化程度較高的視圖 JDT 的 Package Explorer。從用戶界面的角度來看,所有這些視圖都將同一“模型”(也就是一些文件)的表示可視化。作為 Eclipse 用戶,我們很自然地會希望這兩個 Eclipse 視圖同時向我們提供查看同一事物的不同方法:Navigator ?故玖瞬糠植僮饗低澄募淖嘔油跡clipse 的工作空間),而 Package Explorer 向我們展示了同樣的一些文件,這些文件是用對 Java 程序員而言更自然更高效的方法組織和表示的。通過了解 Eclipse 用戶界面如何反映其底層模型,以及 Ecli

41、pse 模型如何成為相互構(gòu)建的基礎(chǔ),這向我們提供了該如何找到“插入”我們擴展的最佳位置的重要線索。顯示在視圖下面的 Eclipse 接口名稱 IFile 和 ICompilationUnit 就是我們可以預期從構(gòu)成 Eclipse 的模型中獲得的兩個接口示例。由于它們通常對應于用戶界面中顯示的控件項,所以您已經(jīng)對通過編程獲得的效果有一個直觀的感受。這是我們“旅行”的第 I 部分。在第 II 部分中,我們將討論開發(fā)解決方案。我們不打算提供這個解決方案并逐一解釋,探索其中的一些奧秘,這不是更有趣嗎?讓我們首先討論與以下這個問題相關(guān)的一些問題:使用我們自己的方法可視性重構(gòu)能力來擴展 JDT。把問題問

42、在點子上比知道答案更重要我們先探討一些常規(guī)問題:在用戶界面中,如何顯示擴展,以及顯示在何處?通常如何擴展用戶界面?對用戶界面的擴展如何知道類似于“選擇”這樣的基本事件?我們對基本 Eclipse 領(lǐng)域有了很好的了解之后,將轉(zhuǎn)向一些特定于 JDT 的問題:如何擴展 JDT 的特定元素的用戶界面(象 Outline 視圖中顯示的成員)?擴展視圖還是它們的底層模型?Package Explorer 中顯示的元素和其它視圖(如 Outline 視圖)中顯示的相同元素之間有什么關(guān)系?我們的擴展需要知道它們之間的任何區(qū)別嗎?如何通過編程更改 JDT 模型?怎樣分析 Java 源代碼以進行修改?目前Java

43、開發(fā)領(lǐng)域的各種集成開發(fā)環(huán)境(IDE)呈現(xiàn)出百花齊放的局面,從Borland的JBuilder,到IBM的Visual Age for Java、WebSphere Studio,Oracle的JDeveloper,Sun的 Forte for Java,WebGain的Visual Cafe,TogetherSoft的Together,還有開放源代碼的Eclipse、NetBeans 等,種類10種有余。這么多種類的IDE繁榮了Java開發(fā)工具家族,但是也為開發(fā)人員的選擇提出了難題。這些IDE的開發(fā)環(huán)境有著較大的差別,在一種開發(fā)環(huán)境下開發(fā)的項目不能很方便地移植到另一種開發(fā)環(huán)境,這就要求更為謹慎

44、地選擇適合項目目標的開發(fā)工具。在目前所有的IDE中,Eclipse可以說是最有發(fā)展前途的產(chǎn)品之一。Eclipse最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎(chǔ),包括Platform、JDT和PDE。目前由IBM牽頭,圍繞著Eclipse項目已經(jīng)發(fā)展成為了一個龐大的Eclipse聯(lián)盟,有150多家軟件公司參與到Eclipse項目中,其中包括Borland、Rational Software、Red Hat及Sybase,最近Oracle也計劃加入到Eclipse聯(lián)盟中?;靖拍钤趯W習使用Eclipse之前,有必要對關(guān)于這個項目的

45、名詞做一些解釋。Eclipse是一個開放源代碼的軟件開發(fā)項目,專注于為高度集成的工具開發(fā)提供一個全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。它由Eclipse項目、Eclipse工具項目和Eclipse技術(shù)項目三個項目組成,每一個項目由一個項目管理委員會監(jiān)督,并由它的項目章程管理。每一個項目由其自身的子項目組成,并且使用 Common Public License(CPL)版本1.0許可協(xié)議。Eclipse工具項目為不同的工具建造者提供一個焦點,以保證為Eclipse Platform創(chuàng)建最好的工具。Eclipse工具項目的任務是為Eclipse Platform培育廣泛的工具的創(chuàng)建。工具項目提供單一的

46、聯(lián)系點以調(diào)和開放源代碼工具建造者,從而使得覆蓋和重復最小化,并保證共享的最大化和共同組件的創(chuàng)建,促進不同類型工具的無縫互操作。工具項目由工具開發(fā)者委員會和工具項目的項目管理委員會提議、選擇和開發(fā)的子項目組成。Eclipse技術(shù)項目的任務是為開放源代碼開發(fā)者、研究者、學院和教育者提供新的管道,以參與將來Eclipse的演化。它按照研究、培育和教育三個項目流來組織,研究項目在Eclipse相關(guān)領(lǐng)域諸如編程語言、工具和開發(fā)環(huán)境方面進行探索和研究;培育項目是小型的、未正式結(jié)構(gòu)化的項目,為Eclipse軟件基礎(chǔ)添加新的能力;教育項目聚焦于教育材料的開發(fā)、教學幫助和課件。Eclipse Platform是

47、一個開放的可擴展的IDE。Eclipse Platform提供建造塊和構(gòu)造并運行集成軟件開發(fā)工具的基礎(chǔ)。Eclipse Platform允許工具建造者獨立開發(fā)與他人工具無縫集成的工具你無須分辨一個工具功能在哪里結(jié)束,而另一個工具功能在哪里開始。Eclipse SDK(軟件開發(fā)者包)是3個Eclipse項目的子項目(Platform、JDT、PDE)所生產(chǎn)的組件合并,它們可以一次下載。這些部分在一起提供了一個具有豐富特性的開發(fā)環(huán)境,允許開發(fā)者有效地建造可以無縫集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse項目生產(chǎn)的工具和來自其它開放源代碼的第三方軟件組合而

48、成。Eclipse項目生產(chǎn)的軟件以 CPL發(fā)布,第三方組件有各自自身的許可協(xié)議。下載、安裝Eclipse知道了這些關(guān)于Eclipse項目的信息,我們可以下載、安裝一個Eclipse。Eclipse SDK就是我們要下載的,其中包括了開發(fā)Java應用的所有內(nèi)容和Eclipse項目的所有成果。進入Eclipse項目的主頁,點擊Downloads,進入下載頁。Eclipse最新的版本是2.0.2版,但是2.0.2版的多國語言翻譯包還沒有出來,所以我們可以使用一個稍早一點的版本2.0.1。點擊2.0.1進入其下載頁,這個頁面有很多下載連接,包括Eclipse

49、SDK在很多平臺上的版本,這里我們只需要下載eclipse-SDK-2.0.1-win32.zip和NLS-SDK-2.0.1-Translations.zip兩個文件就可以了,另外還有一個 eclipse-examples-2.0.1-win32.zip文件,是學習Java開發(fā)用戶指南所需要的。將這3個文件解壓縮到相同的目錄,如D:eclipse。在運行Eclipse之前首先應該安裝好JDK(Sun 的JDK或IBM的JDK都可以,應該安裝1.3以上版本,推薦使用1.4以上版本,因為只有使用1.4以上版本的JDK才可以享受到新增的HotSwap功能對于調(diào)試帶來的方便),設(shè)置好環(huán)境變量JAVA

50、_HOME、CLASSPATH和PATH。為D:eclipse下的eclipse.exe在桌面上建立一個快捷方式。雙擊快捷方式啟動Eclipse。Eclipse也可以以命令行方式啟動,在命令行上指定使用的JVM和保存數(shù)據(jù)的workspace,例如:D:eclipseeclipse.exe-vmD:WebSphereAppServerjavabinjavaw.exe -dataD:WORKworkspace其中,D:WORKworkspace是保存項目文件的位置??梢赃x擇幫助幫助內(nèi)容進入Eclipse的幫助系統(tǒng)。有了Eclipse的多國語言翻譯包,所有的選單和聯(lián)機幫助都已經(jīng)翻譯成了中文,使用起來

51、非常方便。下面我們編寫一個HellWorld程序,步驟如下:1選擇文件新建項目;2項目類別選Java;3項目列表選Java項目;4點擊“下一步”;5輸入項目名稱,例如:HelloProject;6點擊“完成”;7在工具條里點擊“創(chuàng)建Java類”的按鈕(帶有一個C標記)見圖1; 圖1 點擊“創(chuàng)建Java類”的按扭圖8在名稱域輸入HelloWorld;9點擊public static void main(String args) 的復選框,讓Eclipse創(chuàng)建main方法(見圖2); 圖2 Eclipse創(chuàng)建main方法10點擊“完成”;11一個Java編輯窗口將打開,在main方法中輸入Syst

52、em.out.println(“Hello World”)行;12使用Ctrl-s保存,這將自動編譯 HelloWorld.java;13點擊工具條里的“運行”按鈕;14選擇“Java應用程序”,然后選“新建”;15輸入項目名稱HelloProject和main類名 HelloWorld;16點擊“運行”;17這時候,將會打開一個控制臺窗口,一句 “Hello World”將會顯示在里面(見圖3)。 圖3 "Hello World"顯示窗口Eclipse有一個增量編譯器,每次保存一個Java文件時它就自動進行編譯。這個特性被稱做“自動構(gòu)建”。如果不需要這個功能,可以在窗口首

53、選項工作臺對資源修改執(zhí)行自動構(gòu)建,關(guān)閉這個特性。隨后工具條中會出現(xiàn)“全部構(gòu)建”的按鈕。類似的選項也會出現(xiàn)在相關(guān)的選單中。創(chuàng)建CVS資源庫現(xiàn)在我們知道如何創(chuàng)建一個項目了,下一步是與某個版本服務器建立連接,將項目發(fā)布到版本服務器中。目前開源軟件都是使用CVS來做版本管理,因此我們也使用CVS來舉例。Eclipse SDK已經(jīng)包括了支持CVS的插件,要想使用其它的版本管理軟件,例如VSS,可以從Eclipse的網(wǎng)站上下載相關(guān)的插件。創(chuàng)建一個CVS資源庫位置的步驟如下:1打開CVS資源庫開發(fā)透視圖(窗口打開透視圖其它CVS資源庫開發(fā))。2在CVS資源庫視圖里點右鍵,新建資源庫位置,見圖4。 圖4 新建資源庫位置3在添加CVS資源庫對話框中輸入CVS Server 的詳細信息。4點擊“完成”。5一旦配置好CVS資源庫,就可以把項目輸入資源庫了。轉(zhuǎn)到Java透視圖,在項目名稱上點右鍵,選擇小組共享項目。6選擇剛才添加的資源庫。7點擊“完成”。8在同步窗口中的項目上點右鍵,選提交。9輸入為提交加入的注釋,如圖5。 圖5 為提交加入注釋10點擊“確定”,則項目被發(fā)布到CVS資源庫中。11將項目共享到資源庫中后,可以使用“

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論