Setting up Eclipse to create and debug plugins for ImageJ

最近在做一个关于卫星遥感全链路仿真的项目,由于项目是基于ImageJ开发,而ImageJ提供了强大的插件机制,所以特来写一个东西说明如何将自己的代码转化为ImageJ的插件。

  • Alt-File –> New
  • Select the Java Project wizard and click Next

  • Project name: IJ. Check Create separate folders for sources and class files. Click Next

  • On the following panel, select Source tab and check if Default output folder is set to IJ/bin

  • On the Libraries tab click on Add external JARs, browse to your Java SDK library folder , select tools.jar, click Ok and click on Finish to create the project.

(on my computer the Java SDK library folder is located at C:\Program Files\Java\jdk1.6.0_02\lib)

  • Finally, get the latest copy of ij here, extract the zip
  • Copy the ij folder and its subfolders into the source folder
  • Copy the images, macros and plugins folder and only IJ_Props.txt to the IJ project root.
  • Click on F5 to tell Eclipse to refresh its Package list

Create a new plugin (or import your previously developed plugins).

  • Alt-File –> New
  • Select the Java Project wizard and click Next

  • Give your plugin a name (don't forget to add an underscore if you want it to appear in the ImageJ menu!)

  • On the Source tab, check that the output folder is set TestPlugin_/bin

  • On the Project tab, click Add… and select your previously created IJ project containing the ImageJ source.
  • Click Finish

  • Create your Java plugin files. In our example, I created a sample TESTPlugin_.java with the following content:

import ij.IJ;

import ij.plugin.PlugIn;

public class TestPlugin_ implements PlugIn {

public void run(String arg) {

IJ.error("Hello world!");

}

}

  • Create a file called build.xml in the project root folder. A sample build.xml file follows, which you should adapt to your needs.

<project name="TESTPlugin_" default="" basedir=".">

<description>

TESTPlugin_ build file

</description>

<property name="src" location="src" />

<property name="build" location="bin" />

<property name="dist" location="dist" />

<property name="pluginsDir" location="$basedir/../../IJ/plugins/" />

<property name="user.name" value="Patrick Pirrotte" />

<target name="main" depends="compress" description="Main target">

<echo>

Building the .jar file.

</echo>

</target>

<target name="compress" depends="" description="generate the distribution">

<jar jarfile="TESTPlugin_.jar">

<fileset dir="." includes="plugins.config" />

<fileset dir="${build}" includes="**/*.*" />

<manifest>

<attribute name="Built-By" value="${user.name}"/>

</manifest>

</jar>

<copy file="TESTPlugin_.jar" toDir="${pluginsDir}" />

</target>

</project>

  • In the Package Explorer, right click on the TESTPlugin_ project, click on Properties, select Builders, click New… and select Ant Builder

  • In the Main Tab, click Browse workspace and select the build.xml from your TESTPlugin_ project.

  • In the Targets tab, click Set Targets for both After clean and Auto build targets, and select both main and compress.
  • Click Ok twice to keep your changes.

  • Goto Run→ Debug Configurations and create a new Java Application Debug Configuration. Fill in IJ In the field Project, and ij.ImageJ in the field Main class.

  • Select the Source tab, then in the Source lookup path, Add→Add Java Project. Select the TestPlugin_ project. This step is crucial if you want to step into your plugin source during the debug phase. Apply the changes.

  • If you select Debug, ImageJ will start and your TESTPlugin_ will show up in the Plugins menu…
  • Set breakpoints in plugins or in the ImageJ source, the debugger should break accordingly.

后注:当然上文只是其中一种方法,也还有其他方法可以实现!!!

如何在Eclipse中开发并调试自己的插件(或者说如何将自己的代码插件化)的更多相关文章

  1. 老李分享:Eclipse中开发性能测试loadrunner脚本

    老李分享:Eclipse中开发性能测试loadrunner脚本 前篇我分享了如何用loadrunner搭建javauser的性能测试脚本环境,本次我来告诉大家如何在eclipse开发loadrunne ...

  2. 如何在Eclipse中写Processing的sketch

    有时候人们需要写更复杂的sketch,此时Processing提供的IDE就略显单薄,下面将介绍如何在eclipse中开发Processing. 一共分4步: 一.搭建环境:安装JRE.JDK.Ecl ...

  3. 在Eclipse中开发C/C++项目

    摘要:通过本文你将获得如何在Eclipse平台上开发C/C++项目的总体认识.虽然Eclipse主要被用来开发Java项目,但它的框架使得它很容易实现对其他开发语言的支持.在这篇文章里,你将学会如何使 ...

  4. 【Eclipse】如何在Eclipse中使用命令行?

    如何在Eclipse中使用命令行? 虽然我们已经有了像 Eclipse 这样高级的 IDE,但是我们有时候也是需要在开发的时候使用 Windows 的命令行,来运行一些独立的程序.在两个程序中切换来切 ...

  5. 如何在Eclipse中设置默认的JSP文件头部编码

    如何在Eclipse中设置默认的JSP文件头部编码 一般,我们为了以后在导入和导出程序的时候(特别是项目较大,文件多)一般都默认文件编码格式为UTF-8 如果你通常都是通过Eclipse来编写程序,那 ...

  6. 如何在Eclipse中添加Tomcat的jar包

    原文:如何在Eclipse中添加Tomcat的jar包 右键项目工程,点击Java Build Path 点击Add Library,选择Server Runtime 选择Tomcat版本 此时就看到 ...

  7. 如何在eclipse中安装Jess

    如何在eclipse中安装Jess 浏览:49 | 更新:2014-05-12 16:39 这个文章帮了不少忙,感谢! 但经我实践,还要把插件那些文件向/dropins/sdk下也放一份,才能成功. ...

  8. 如何在Eclipse中配置Tomcat(免安装版)

    如何在Eclipse中配置Tomcat(免安装版) 2013-10-09 23:19wgelgrsh | 分类:JAVA相关 | 浏览642次 分享到:   2013-10-10 17:10提问者采纳 ...

  9. 如何在Eclipse中添加Servlet-api.jar的方法

    方法一: 点击窗口->首选项->java->构建路径->类路径变量->新建:将你的tomcat目录下的common/lib/servlet.jar加进来.如果你建立了一个 ...

随机推荐

  1. Memcached安装卸载

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态.数据库驱动网站的速度.Memcached ...

  2. 依赖注入及AOP简述(三)——依赖注入的原理

    3.     “依赖注入”登场 于是诸多优秀的IT工程师开始想出了更加轻量便利.更加具有可测试性和可维护性的设计模式——IoC模式.IoC,即Inversion of Control的缩写,中文里被称 ...

  3. 从Ecma规范深入理解js中的this的指向

    this是面向对象编程中的一个概念,它一般指向当前方法调用所在的对象,这一点在java.c++这类比较严格的面向对象编程语言里是非常明确的.但是在javascript中,this的定义要灵活许多,如果 ...

  4. 解决OpenWrt多拨刚开机拨号只拨上一次问题

    红色标注为需要权限755/etc/ppp/ip-up.d/ip-up: 一旦 PPP 连结建立后, pppd 会找寻 /etc/ppp/ip-up 指令稿 如果这个指令稿存在并且可以执行的话,那么 P ...

  5. 实现Jquery触发一事件后,停留5秒,再接着触发下面的事件

    这里是一个广告位的Jquery的代码,有两个不同的广告位,一个是中间浮动显示的,显示5秒后自动消失,并限定每天仅出现一次(Cookie实现): //=====================广告位的j ...

  6. iOS在Xcode6中添加空模板

    1.在Xcode6.0以下版本找到空模板(路径与下方相同).   2.将空模板拖入路径:Macintosh HD ▸ 应用程序 ▸ Xcode(版本号).app ▸ Contents ▸ Develo ...

  7. python 网络编程第四版

    使用SocketServer 模块来完成服务端编程 1.服务端代码如下: #!/usr/bin/python #!coding:utf-8 import SocketServer as sockets ...

  8. MySQL的三层架构之一----连接层

    1.mysql的服务端可以分为三层,分别是连接层,SQL层,存储层. 2.架构图 3.连接层定义了通信server端与client协议:

  9. Android02-Activity01

    1.概念:活动是一种可以包含用户界面的组件, 主要用于和用户进行交互. 2.常见操作:      1.隐藏Activity的标题栏: @Override protected void onCreate ...

  10. DNS域欺骗攻击详细教程之Linux篇

    .DNS域欺骗攻击原理 DNS欺骗即域名信息欺骗是最常见的DNS安全问题.当一 个DNS服务器掉入陷阱,使用了来自一个恶意DNS服务器的错误信息,那么该DNS服务器就被欺骗了.DNS欺骗会使那些易受攻 ...