• 如何在Eclipse中开发并调试自己的插件(或者说如何将自己的代码插件化)


    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 FilesJavajdk1.6.0_02lib)

    • 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.

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

  • 相关阅读:
    装饰器
    闭包函数
    名称空间与作用域
    函数参数 函数对象 函数嵌套
    文件内光标的移动 函数基础 定义函数的三种形式 函数的返回值 调用方式
    文件
    字符编码 文件处理
    人月神话之阅读笔记一
    mysql+servlet+jsp实现数据库的增删改查
    文件与流课后作业
  • 原文地址:https://www.cnblogs.com/hansonwang99/p/4913238.html
Copyright © 2020-2023  润新知