Eclipse的啟動框架
在Eclipse可以啟動多個java進程,并對java進程的運行狀況進行監控,這些都有幾個主要框架合作完成
其中包括:
org.eclipse.jdt.launch:java程序啟動框架
org.eclipse.debug.core:除Eclipse本身進程外,其他進程的核心運行態
org.eclipse.core.runtime:提供對運行期的進程的監控及Runtime支持
在jdt的launch框架中,internal.launching包是launching包的實現
launching包中的AbstractVMRunner,是各種VM的主要基類,它將進程推入到Eclipse的debug框架,以便在其中執行
VMRunner的run(VMRunnerConfiguration config, ILaunch launch, IProgressMonitor monitor)方法:
在AbstractVMRunner的實現類中,將實現其繼承自IVMRunner的run(…)方法以便生成java進程并使用Eclipse的debug框架中的IProcess進行包裝,IProcess表示一個java進程是以normal運行態而不是以Debug狀態運行,同時啟動傳入的IProgressMonitor生成子監控器(SubProgressMonitor)對包裝后的IProcess進行監控。
真正的啟動操作,則是在Eclispe的debug.core中的DebugPlugin中的exec方法中
也就兩行代碼:
if (workingDirectory == null) {
p= Runtime.getRuntime().exec(cmdLine, envp);
} else {
p= Runtime.getRuntime().exec(cmdLine, envp, workingDirectory);
}
而其余的就全都是監控了
而啟動的過程,則是在launching包中的JavaLaunchDelegate類中,就只有一個方法launch:
包括設置環境變量、監控器、文件目錄驗證等等都在這了
posted on 2005-10-24 23:12 fisher 閱讀(1842) 評論(2) 編輯 收藏 所屬分類: Eclipse Tech