eclipse 自定义项目类型

简介: 引用:http://www.oecp.cn/hi/slx/blog/5298   Eclipse插件开发中允许我们自定义项目的类型,如已知的:java项目,js项目,maven项目。这些类似项目类型的定义都在对应的插件中存在的。

引用:http://www.oecp.cn/hi/slx/blog/5298

  Eclipse插件开发中允许我们自定义项目的类型,如已知的:java项目,js项目,maven项目。这些类似项目类型的定义都在对应的插件中存在的。我们也可以在自己开发的eclipse插件中,定义自己特有的项目类型。
    当我们在eclipse创建一个project,在project目录中都会有一个“.project”文件,这是个xml文件,里面记录这project的一些属性,如项目名称等等。用记事本打开这个文件,会找到这么一个节点<natures>里面的内容就是项目的性质。

xml 代码
  1. <natures>  
  2.     <nature>oecp.project.bcproject</nature>  
  3.     <nature>org.eclipse.jdt.core.javanature</nature>  
  4. </natures>  

上面的内容说明这个项目有两个性质。第一个是我自定义的项目性质oecp.project.bcproject,第二个是普通java项目。
    项目中有了这我们自定义的项目性质,我们在插件中就可以识别它了。接下来介绍下,这个自定义的项目的性质是怎么定义出来的。
    首先在插件描述文件,plugin.xml中添加一个扩展点,定义项目类型

xml 代码
  1. <extension  
  2.          id="oecp.project.bcproject"  
  3.          point="org.eclipse.core.resources.natures">  
  4.       <runtime>  
  5.          <run class="oecp.plugin.project.OECPBCProject">  
  6.          </run>  
  7.       </runtime>  
  8.       <requires-nature  
  9.             id="org.eclipse.jdt.core.javanature">  
  10.       </requires-nature>  
  11.    </extension>  

然后创建一个项目性质类oecp.plugin.project.OECPBCProject

java 代码
  1. public class OECPBCProject extends PlatformObject implements IProjectNature {  
  2.   
  3.     private IProject project;  
  4.       
  5.     public void configure() throws CoreException {  
  6.     }  
  7.   
  8.     @Override  
  9.     public void deconfigure() throws CoreException {  
  10.     }  
  11.   
  12.     @Override  
  13.     public IProject getProject() {  
  14.         return project;  
  15.     }  
  16.   
  17.     @Override  
  18.     public void setProject(IProject project) {  
  19.         this.project = project;  
  20.     }  
  21. }  

实现接口IProjectNature ,这样就简单的自定义了一种项目类型。
    插件开发时,我们获得Iproject对象后可以用下面语句获得我们定义的项目性质

java 代码
  1. OECPBCProject pn = (OECPBCProject)project.getNature("oecp.project.bcproject");  
  2. return pn;  

    当然项目性质的用法不只是这么简单,还有很多发挥的空间。自己根据需要扩展就行了。
    现在项目前面的小图标还没有有没变化,接下来,我们来解决。这需要插件扩展另一个扩展点。

xml 代码
  1. <extension  
  2.          point="org.eclipse.ui.ide.projectNatureImages">  
  3.       <image  
  4.             icon="icons/bc.gif"  
  5.             id="oecp.plugin.oecp.project.ico"  
  6.             natureId="oecp.project.bcproject">  
  7.       </image>  
  8.    </extension>  

    natureId指向的就是我们刚刚自定义的项目类型。这样自定义一个项目类型,并更改他的图标的功能就实现了。其实很简单,只是这方面中文资料不太多,基本都是英文的。我在这里记录一下我实现的过程,一是与大家分享,二是怕以后忘记了,做个备份。最后看一下效果。

相关文章
|
Java Android开发
eclipse导入项目时,报错:One or more cycles were detected in the build path of project ....
eclipse导入项目时,报错:One or more cycles were detected in the build path of project ....
846 140
|
Java Maven Android开发
eclipse创建maven项目
本文介绍了在Eclipse中创建Maven项目的步骤,包括打开Eclipse、选择Java项目、完成项目创建以及自动下载插件的过程。
397 2
eclipse创建maven项目
|
Java Maven Android开发
eclipse如何导入springboot项目
本文介绍了如何在Eclipse中导入Spring Boot项目。
680 1
eclipse如何导入springboot项目
|
Java 应用服务中间件 Android开发
Eclipse创建Spring项目
本文介绍了在Eclipse中创建Spring项目的步骤,包括如何配置Tomcat服务器、创建项目、部署项目到Tomcat以及添加Spring框架所需的JAR包。
413 1
Eclipse创建Spring项目
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
196 4
|
Android开发
Eclipse 关闭项目
Eclipse 关闭项目
261 2
|
Java 编译器 Android开发
Eclipse 编译项目
Eclipse 编译项目
190 1
|
缓存 Java 应用服务中间件
支付宝 网站支付Demo 案例【沙箱环境】IDEA如何配置启动Eclipse项目
该博客文章讲述了如何在IntelliJ IDEA中配置和启动一个使用Eclipse开发的支付宝网站支付Demo案例。文章详细记录了从导入项目到配置Tomcat,再到解决启动过程中遇到的问题的步骤。作者还分享了在IDEA中遇到的一些常见问题,如项目配置、依赖库添加、编码问题等,并提供了相应的解决方案。此外,文章还提供了支付效果的展示以及一些支付宝案例文档中需要修改的参数信息。
支付宝 网站支付Demo 案例【沙箱环境】IDEA如何配置启动Eclipse项目
|
Java Maven Android开发
eclipse搭建springboot项目
本文介绍了如何使用Spring Initializr官网生成Spring Boot项目并用Eclipse打开和运行该项目,包括配置项目信息、添加依赖、下载依赖以及启动项目的步骤。
912 1
|
Java 网络安全 开发工具
新手入门Java。如何下载Eclipse、写出最基本的“Hello word”以及如何连接github并且上传项目。
新手入门Java。如何下载Eclipse、写出最基本的“Hello word”以及如何连接github并且上传项目。
263 0