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. 步步学LINQ to SQL:将类映射到数据库表【转】

    [IT168 专稿]该系列教程描述了如何采用手动的方式映射你的对象类到数据表(而不是使用象SqlMetal这样的自动化工具)以便能够支持数据表之间的M:M关系和使用实体类的数据绑定.即使你选择使用了自 ...

  2. 警惕:利用Dropbox链接散播的恶意软件

    趋势科技近期发现好几起利用热门文档代管服务Dropbox的垃圾邮件.邮件的内嵌链接会下载UPATRE恶意软件变种.UPATRE下面载恶意软件而恶名昭彰,当中包含ZBOT恶意软件.CryptoLocke ...

  3. 连接时出现:Can&#39;t open display: localhost:10.0

    解决方法: 在/etc/hosts 中增加 127.0.0.1 localhost ipaddress hostname 之后能进入图形界面,注意是实际ip和机器名 $(function () { $ ...

  4. I/O重定向与管道

    1.输出重定向 (1)>  覆盖输出 (2)>>  追加输出 (3) set -C: 禁止对已经存在文件使用覆盖重定向: 强制覆盖输出,则使用 >| set +C: 关闭上述功 ...

  5. HDU 1032 The 3n + 1 problem

    还以为要递归推一推的 结果暴力就过了 要注意 i,j 大小 #include <iostream> using namespace std; int a,b; long long cnt, ...

  6. linux 生产环境搭建

    Linux基础命令杂记   今天又一次搞Linux生产环境搭建.这是种步骤很多,很繁琐而且又不得不做的事情.虽然做过很多次,但还是有很多步骤.命令不记得,每一次到处找资料很麻烦,于是将一些步骤记下,以 ...

  7. 第二章——Parcelable接口的使用(跨进程,Intent传输)

    一.Parcelable类(Android独有的) 简介:Parcelable是一个接口. 作用:是Android提供的序列化接口,实现序列化和反序列化的操作. 二.跨进程使用 步骤一:创建Book类 ...

  8. 《UNIX网络编程》TCP客户端服务器:并发、消息回显

    经过小小改动,把前面基础的例子做出一点修改. 并发服务器,服务器每accept一个请求就fork()一个新的子进程. 编译运行方法同前一篇. /*client_tcp.c*/ #include < ...

  9. 4x4矩阵键盘扫描

    4x4矩阵键盘扫描 Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架 ...

  10. Android 禁止软键盘自动弹出

    Android系统对EditText这个控件有监听功能,如果某个Activity中含有该控件,就会自动弹出软键盘让你输入,这个看似人性化的方案有 时候并不被用户喜欢的,所以在有些情况下要禁用该功能.这 ...