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 阅读(734) 评论(0)  编辑  收藏 所属分类: Eclipse

只有注册用户登录后才能发表评论。


网站导航: