在一个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,那么可能还有几个需要关注
-
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>
<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通常涉及在项目的构建配置文件(如`pom.xml`或`build.gradle`)中添加相关的依赖和配置。例如,在Maven项目中,我们需要在`pom.xml`中引入插件并配置Bintray的账户信息。 4. **使用步骤*...
**描述解读:** 描述中提到,“googlecode的maven-db-plugin插件,版本是1.4,中央仓库中没有该插件的jar包”。这意味着该插件可能不是官方Maven中央仓库的组成部分,可能是一个社区贡献的项目,或者由于某些原因...
本文将详细解读Maven的主要配置文件——`setting.xml`,包括其各个元素的作用以及如何根据项目需求进行定制。 #### 一、Setting.xml概述 `setting.xml` 是Maven的核心配置文件,分为系统级和用户级两个层次。其中...
5. 修改JDK版本:针对文档中提到的问题,即如何将Maven构建项目的默认JDK版本从1.5修改为1.7,可以通过在pom.xml文件中配置maven-compiler-plugin插件,并设置相应的元素来指定源代码编译版本()和目标运行版本()...
14. **工具支持**: 如Maven的maven-jaxb2-plugin插件可以帮助自动生成Java类,Eclipse和IntelliJ IDEA等IDE也有集成的XML绑定工具。 综上所述,XML和Java绑定是Java开发中的重要技能,它简化了XML数据的处理,提高...
源码中可能会包含自定义的生命周期阶段和插件,例如使用maven-surefire-plugin进行单元测试,maven-jar-plugin打包成JAR文件等。通过实际运行这些构建命令,我们可以直观地理解Maven的构建流程。 ** Maven的聚合和...
2. Maven工程核心信息配置和解读(GAVP) pom.xml文件中的元素包含了GAVP信息以及其他配置,如用于定义项目依赖。 3. Maven工程依赖管理配置 在中添加、删除或更新依赖项,可以控制依赖的版本和范围(如compile、...
要查看详细信息,你需要通过FindBugs的图形用户界面(GUI)来解读。在Maven项目根目录下,运行`mvn findbugs:gui`启动FindBugs GUI。 在FindBugs GUI中: 1. 打开生成的`findbugsXml.xml`文件,查看其中的缺陷列表...
标题提到的“hadoop2.6.0-eclipse-plugin”暗示我们正在讨论的是Hadoop 2.6.0版本与Eclipse IDE的集成插件,这对于开发和测试Hadoop应用至关重要。Eclipse插件使得开发者能够在本地环境中方便地编写、调试和运行...
**阅读和解读覆盖率报告** JaCoCo生成的报告中,你可以看到每个类、每个方法的覆盖率情况,包括被测试的行数、未被测试的行数以及覆盖率百分比。绿色表示已测试,红色表示未测试。通过分析这些数据,可以找出代码中...
- pom.xml解析:详细解读pom.xml文件的各个元素,如groupId、artifactId、version、dependencies等,以及它们在项目构建中的作用。 2. **Maven仓库** - 本地仓库:介绍如何设置和管理本地Maven仓库,以及如何解决...
最后,`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!论坛系统的...
- 通过Spring的`Struts2SpringPlugin`插件,使得Struts2能够识别并使用Spring的依赖注入。 5. **项目结构**: - `.classpath`文件记录了项目的类路径,包含所有需要的库和资源。 - `src`目录下存放Java源代码,...
Struts 1.2是该框架的一个版本,它的源码解读对于深入理解Struts的工作机制和原理至关重要。北大青鸟的这份文档是为了帮助学习者入门和精通Struts所编写的,包含了对Struts源码的详细解析。 首先,了解Struts的核心...
第7章可能包括对struts-default.xml和struts-plugin.xml等默认配置文件的解读,以及自定义配置的方法。 3. **拦截器(Interceptors)**:拦截器是Struts2中的一个强大特性,允许在Action执行前后插入额外的功能,如...
如果使用了mybatis-generator-maven-plugin插件,那么在pom.xml中定义的properties可以直接在generatorConfig.xml中使用。 classPathEntry:此标签用于指定需要额外加载的jar包或zip包的位置。location属性指明了...
开发者需要配置Struts2的配置文件(如struts.xml)以启用文件上传功能,并指定最大文件大小等限制。 3. **Request域对象**: 在Struts2中,上传的文件信息会存储在HttpServletRequest的`Part`或` CommonsFileItem`...
3. `plugin.xml`:XML格式的插件配置文件,通常包含插件的版本、作者等信息,有时也会有额外的配置细节。 4. `docs`、`grails-app`、`src`、`scripts`和`lib`目录则分别包含了插件的文档、应用代码、源代码、脚本...
在 pom.xml 文件中,需要添加 spring-boot-starter-parent 依赖项和 docker-maven-plugin 插件,以便实现自动化部署。 Spring Boot 应用程序的部署 Spring Boot 应用程序可以使用 Docker 容器进行部署,以便快速...
`struts.configuration.xml.reload` - **描述**:控制是否重新加载XML配置文件。 - **示例**:可以设置为 `true` 或 `false`。 - **作用**:当开发人员更改了配置文件后,是否希望Struts自动重新加载这些文件。这...