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. 通过 Autostereograms 案例学习 OpenGL 和 OpenCL 的互操作性

    引言 在过去的十年里, GPU (图形处理单元)已经从特殊硬件(特供)转变成能够在数值计算领域开辟新篇章的高性能计算机设备. 很多算法能够使用拥有巨大的处理能力的GPU来快速运行和处理大数据量.即使在 ...

  2. C++中函数的默认参数

    使用方法: (1)在函数声明或定义时,直接对参数赋值,该参数就是默认参数. (2)在函数调用时,省略部分或全部参数,这时就会使用默认参数进行代替. 注意事项: (1)一般在声明函数是设置默认参数. 如 ...

  3. web项目中获取各种路径的方法

    ~Apple   web项目中各种路径的获取 1.可以在servlet的init方法里 String path = getServletContext().getRealPath("/&qu ...

  4. css3 transiton

    div { width:100px; height:100px; background:yellow; transition-property:width; transition-duration:1 ...

  5. Equal 和==比较

    Equal 和==比较 ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相当,只能用==操作符. 如果一个变 ...

  6. adb server didn t ack failed to start daemon

    关掉Ecilpse,打开cmd命令行 1)cd到sdk的platform-tools目录下, 2)执行  adb kill-server  ,出现  server not runing 提示 3)执行 ...

  7. log4j学习笔记

    在java文件中导入包: import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; 在所使 ...

  8. 【转】commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar实现文件上传

    总共:一个upload.jsp,一个FileUploadServlet.java,两个文件:ImagesUploaded,ImagesUploadTemp, 一个web.xml,两个架包:common ...

  9. append, appendTo, after区别(preappend、before与这几个原理相同)

    append在被选元素结尾插入内容,是被包围在所选元素的标签内的. <script> $('p').append('<a>http</a>'); </scri ...

  10. Android 混淆文件project.properties和proguard-project.txt

    参考文档:http://blog.csdn.net/xueyepiaoling/article/details/8202359 http://glblong.blog.51cto.com/305861 ...