wadise

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            22 Posts :: 0 Stories :: 6 Comments :: 0 Trackbacks

          Eclipse可以啟動多個java進程,并對java進程的運行狀況進行監控,這些都有幾個主要框架合作完成

           

          其中包括:

           

                 org.eclipse.jdt.launchjava程序啟動框架

                 org.eclipse.debug.core:除Eclipse本身進程外,其他進程的核心運行態

                 org.eclipse.core.runtime:提供對運行期的進程的監控及Runtime支持

           

          jdtlaunch框架中,internal.launching包是launching包的實現

          launching包中的AbstractVMRunner,是各種VM的主要基類,它將進程推入到Eclipsedebug框架,以便在其中執行

           

          VMRunnerrun(VMRunnerConfiguration config, ILaunch launch, IProgressMonitor monitor)方法:

          AbstractVMRunner的實現類中,將實現其繼承自IVMRunnerrun()方法以便生成java進程并使用Eclipsedebug框架中的IProcess進行包裝,IProcess表示一個java進程是以normal運行態而不是以Debug狀態運行,同時啟動傳入的IProgressMonitor生成子監控器(SubProgressMonitor)對包裝后的IProcess進行監控。

           

          真正的啟動操作,則是在Eclispedebug.core中的DebugPlugin中的exec方法中

          也就兩行代碼:

           

                               if (workingDirectory == null) {

                                      p= Runtime.getRuntime().exec(cmdLine, envp);

                               } else {

                                      p= Runtime.getRuntime().exec(cmdLine, envp, workingDirectory);

                               }

           

          而其余的就全都是監控了

           

          而啟動的過程,則是在launching包中的JavaLaunchDelegate類中,就只有一個方法launch

           

          包括設置環境變量、監控器、文件目錄驗證等等都在這了

          聲明一個空的工作區,在命令行加入-data newworkspace

           

          PDE(Plug-In Development Environment插件開發環境), JDT(Java Development Tool  Java開發工具)

          Eclipse的層次結構:

           eclipse1.JPG

          PDE:

          Plugin.xml:

          id屬性是全局唯一的插件標識,最好用包名來表示。

          name屬性是方便人閱讀的插件名稱。

           

           

          每個按鈕背后都有一個Action對象提供支持,當按鈕被按下時,這個對象就被調用。工具欄中的按鈕被分為多個組,每個組叫做一個動作集(action set)。如果動作要讓以按鈕的形式出現,就必須將其與工具欄路徑相關聯,在action加入toolbarPath=”helloGroup”,如果有別的動作已經放到helloGroup工具欄的欄目中時,我們新加入的將會出現在那個按鈕的旁邊。如果以前沒有helloGroup,則會建立一個helloGroup工具欄欄目。

           eclipse2.JPG

           

          Eclipse啟動時會將所有的插件清單文件讀入一個插件注冊表中,為每個插件創建一個投影。此時插件本身不會被加載,只加載它們的描述信息,調用Platform類的getPluginRegistry()方法就可以得到這個投影世界的內容。

           

          動作必須實現的接口是IworkbenchWindowDelegate,而當你要為工作臺里的一個Java對象增加一個動作時,你必須實現IobjectActiveDelegate接口。

          posted on 2005-12-20 14:12 wadise 閱讀(765) 評論(0)  編輯  收藏 所屬分類: Eclipse
          主站蜘蛛池模板: 甘洛县| 镇巴县| 巴里| 青冈县| 呼伦贝尔市| 阿克苏市| 临泽县| 渭源县| 徐闻县| 岳阳县| 贵南县| 钦州市| 西安市| 北票市| 铜陵市| 井研县| 剑河县| 科尔| 临江市| 宣恩县| 白银市| 福鼎市| 江永县| 恩平市| 五指山市| 桃江县| 祁门县| 手游| 秦安县| 舞阳县| 张家港市| 白山市| 纳雍县| 星子县| 岳普湖县| 团风县| 交口县| 宜宾县| 阿合奇县| 江北区| 昌黎县|