`
mj4d
  • 浏览: 302894 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

解读plugin.xml

阅读更多

在一个eclipse plugin的开发中plugin.xml是必须的,那么我们需要关注哪些点
我们用eclipse中的plug-in manifest edtor打开,我们可以看到在editor区域中看到几个tab页,下面分别介绍:

Overview
这里是这个插件工程的一些基本信息介绍,比如插件的名字,版本,id,编译执行环境等。我们需要关注的是右下角的Testing,这里提供了我们在开发中运行插件的两种方式普通和debug模式。

当然说到运行,我们还有其他的方式:

  • 在package或navigator视图下选择工程右键>Run As>Run Configuration
  • 直接在toolbar区域选择Run As/Debug As进行运行时的配置

这里说一个在开发中遇到的问题,在开发的开始阶段老是遇到java.lang.OutOfMemoryError: PermGen space,开始以为eclipse.ini中VM的配置参数过低,但在进行了相应的修改后启动仍然内存溢出,最后是在configurations中的Argument中显示配置VM参数解决,比如

在VM arguments中设置

-Xms128m -Xmx256m -XX:PermSize=128m -XX:MaxPermSize=128m
 

难道是打开的plugin运行时启动的eclipse会吃掉主的内存,导致分配的太少而溢出?

既然说到run configuration,那么可能还有几个需要关注

  • Main tab下的一些配置
  • Plug-ins下lanch with中的插件可能默认会全部选中,其实我们可以先Deselect All,然后选中我们需要运行的plugin,再Add Required plug-ins


Dependecies
这里是这个插件工程需要依赖的各种插件,这里包括依赖eclipse本身的各种组件。比如运行时org.eclipse.core.runtime,比如你需要在你插件工程中打开java文件,那么需要org.eclipse.jdt.core、org.eclipse.ui.workbench.texteditor等,同时你也可以增加第三方依赖插件。通过Add按钮,在弹出窗中输入相应的插件添加

Runtime
我们可以看到两个地方需要关注:

  • Exported Packages:这个是你这个插件中向外暴露的包,你可以添加需要向外暴露的结构,那么应用你这插件的其他工程就可以访问你相应的接口
  • Classpath:当前插件工程运行依赖的第三方jar包,一般我们把第三方依赖的包放在工程根目录下的lib文件夹内


Extensions/Extensions Points
扩展和扩展点,前者是指引入其他插件的扩展点,后者是当前工程暴露出的扩展点。

  • 比如你的插件工程中有视图,那么你需要引入org.eclipse.ui.views在这个扩展点下,你可以定义相关的视图。这里引入也会在plugin.xml中体现:point="org.eclipse.ui.views"
  • 如果这个扩展点下可以有多个view视图,也可以有category标签会将相应的视图归类,比较直观的是在eclipse的window>show view>...中体现

至于扩展点,网上例子较多,在实际项目中没有使用,不便多说

Build
这是编译插件时需要包含的资源,在Binary Build的时候勾上需要的资源吧,记得在开始的时候老是忘记lib包,导致编译错误或使用就报错

MANIFEST.MF和build.properties
这里其实对前几个tab页中内容自动生成,比如包含Require-Bundle、Bundle-ClassPath、Export-Package等

plugin.xml
这部分内容是比较重要的,比如描述了各种actionSets,extension point

  • 比如声明一个视图
   <extension
         id="com.plugin.sample.sampleView"
         point="org.eclipse.ui.views">
      <category
      		name="Sample"
      		id="com.plugin.eclipse.sample">
      </category>
      <view
            category="com.plugin.eclipse.sample"
            class="com.plugin.eclipse.sample.views.SampleView"
            icon="icons/sample.png"
            id="com.plugin.eclipse.samle.views.sampleView"
            name="SampleView">
      </view>
   </extension>
  • 比如某个菜单只作用于java类
<extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            id="com.plugin.eclipse.sample.popupMenu"
			objectClass="org.eclipse.core.resources.IFile"
           	adaptable="true"
           	nameFilter="*.java"> 	
         <menu
               label="Sample"
               path="additions"
               id="com.plugin.eclipse.sample.menu"
               icon="icons/sample.png">
            <separator
                  name="group">
            </separator>
         </menu>
          <action
                class="com.plugin.eclipse.sample.SampleAction"
                enablesFor="+"
                icon="icons/sample.png"
                id="com.plugin.eclipse.sample.sampleAction"
                label="SampleAction"
                menubarPath="com.plugin.eclipse.sample.menu/group">
         </action>
      </objectContribution>
   </extension>
 

 

分享到:
评论

相关推荐

    spring-bintray-plugin,.zip

    安装Spring Bintray Plugin通常涉及在项目的构建配置文件(如`pom.xml`或`build.gradle`)中添加相关的依赖和配置。例如,在Maven项目中,我们需要在`pom.xml`中引入插件并配置Bintray的账户信息。 4. **使用步骤*...

    com.googlecode.maven-db-plugin-1.4.rar

    **描述解读:** 描述中提到,“googlecode的maven-db-plugin插件,版本是1.4,中央仓库中没有该插件的jar包”。这意味着该插件可能不是官方Maven中央仓库的组成部分,可能是一个社区贡献的项目,或者由于某些原因...

    Maven相关配置,包含了系统级别的配置和当前用户级别的配置,用户级别的路径是~/.m2

    本文将详细解读Maven的主要配置文件——`setting.xml`,包括其各个元素的作用以及如何根据项目需求进行定制。 #### 一、Setting.xml概述 `setting.xml` 是Maven的核心配置文件,分为系统级和用户级两个层次。其中...

    Maven精品教程 零散笔记

    5. 修改JDK版本:针对文档中提到的问题,即如何将Maven构建项目的默认JDK版本从1.5修改为1.7,可以通过在pom.xml文件中配置maven-compiler-plugin插件,并设置相应的元素来指定源代码编译版本()和目标运行版本()...

    xml和java绑定

    14. **工具支持**: 如Maven的maven-jaxb2-plugin插件可以帮助自动生成Java类,Eclipse和IntelliJ IDEA等IDE也有集成的XML绑定工具。 综上所述,XML和Java绑定是Java开发中的重要技能,它简化了XML数据的处理,提高...

    Maven应用实战源码 配套源码

    源码中可能会包含自定义的生命周期阶段和插件,例如使用maven-surefire-plugin进行单元测试,maven-jar-plugin打包成JAR文件等。通过实际运行这些构建命令,我们可以直观地理解Maven的构建流程。 ** Maven的聚合和...

    Maven依赖管理项目构建工具.pdf

    2. Maven工程核心信息配置和解读(GAVP) pom.xml文件中的元素包含了GAVP信息以及其他配置,如用于定义项目依赖。 3. Maven工程依赖管理配置 在中添加、删除或更新依赖项,可以控制依赖的版本和范围(如compile、...

    findbugs插件使用文档

    要查看详细信息,你需要通过FindBugs的图形用户界面(GUI)来解读。在Maven项目根目录下,运行`mvn findbugs:gui`启动FindBugs GUI。 在FindBugs GUI中: 1. 打开生成的`findbugsXml.xml`文件,查看其中的缺陷列表...

    hadoop2.6.0-eclipse-plugin

    标题提到的“hadoop2.6.0-eclipse-plugin”暗示我们正在讨论的是Hadoop 2.6.0版本与Eclipse IDE的集成插件,这对于开发和测试Hadoop应用至关重要。Eclipse插件使得开发者能够在本地环境中方便地编写、调试和运行...

    jacoco单元测试覆盖率+maven DEMO2

    **阅读和解读覆盖率报告** JaCoCo生成的报告中,你可以看到每个类、每个方法的覆盖率情况,包括被测试的行数、未被测试的行数以及覆盖率百分比。绿色表示已测试,红色表示未测试。通过分析这些数据,可以找出代码中...

    Maven实战.rar

    - pom.xml解析:详细解读pom.xml文件的各个元素,如groupId、artifactId、version、dependencies等,以及它们在项目构建中的作用。 2. **Maven仓库** - 本地仓库:介绍如何设置和管理本地Maven仓库,以及如何解决...

    【价值5000元】Cis手机模板

    最后,`discuz_plugin_comeing_touch_SC_UTF8.xml`, `discuz_plugin_comeing_touch_TC_UTF8.xml`, `discuz_plugin_comeing_touch_SC_GBK.xml` 和 `discuz_plugin_comeing_touch_TC_BIG5.xml` 是Discuz!论坛系统的...

    struts2+spring+hibernate整合例子

    - 通过Spring的`Struts2SpringPlugin`插件,使得Struts2能够识别并使用Spring的依赖注入。 5. **项目结构**: - `.classpath`文件记录了项目的类路径,包含所有需要的库和资源。 - `src`目录下存放Java源代码,...

    Struts1.2源码解读

    Struts 1.2是该框架的一个版本,它的源码解读对于深入理解Struts的工作机制和原理至关重要。北大青鸟的这份文档是为了帮助学习者入门和精通Struts所编写的,包含了对Struts源码的详细解析。 首先,了解Struts的核心...

    Struts2.1权威指南光盘源代码第7章

    第7章可能包括对struts-default.xml和struts-plugin.xml等默认配置文件的解读,以及自定义配置的方法。 3. **拦截器(Interceptors)**:拦截器是Struts2中的一个强大特性,允许在Action执行前后插入额外的功能,如...

    mybatis-generator配置详解

    如果使用了mybatis-generator-maven-plugin插件,那么在pom.xml中定义的properties可以直接在generatorConfig.xml中使用。 classPathEntry:此标签用于指定需要额外加载的jar包或zip包的位置。location属性指明了...

    G:\40map\西宁地图.rar

    开发者需要配置Struts2的配置文件(如struts.xml)以启用文件上传功能,并指定最大文件大小等限制。 3. **Request域对象**: 在Struts2中,上传的文件信息会存储在HttpServletRequest的`Part`或` CommonsFileItem`...

    grails-acegi-0.5.zip

    3. `plugin.xml`:XML格式的插件配置文件,通常包含插件的版本、作者等信息,有时也会有额外的配置细节。 4. `docs`、`grails-app`、`src`、`scripts`和`lib`目录则分别包含了插件的文档、应用代码、源代码、脚本...

    Spring Boot与Docker部署实践

    在 pom.xml 文件中,需要添加 spring-boot-starter-parent 依赖项和 docker-maven-plugin 插件,以便实现自动化部署。 Spring Boot 应用程序的部署 Spring Boot 应用程序可以使用 Docker 容器进行部署,以便快速...

    struts2的struts.properties配置文件详解

    `struts.configuration.xml.reload` - **描述**:控制是否重新加载XML配置文件。 - **示例**:可以设置为 `true` 或 `false`。 - **作用**:当开发人员更改了配置文件后,是否希望Struts自动重新加载这些文件。这...

Global site tag (gtag.js) - Google Analytics