开发流程

  1. 安装Java8 JDK (Windows x86 64-bit) ​https://docs.azul.com/core/zulu-openjdk/install/windows
  2. 安装Eclipse IDE for Java Developers ​https://www.eclipse.org/downloads/
  3. 在github下载示例插件并修改 ​GitHub - imagej/example-imagej2-command: Simple Maven project for an ImageJ2 command
  • 修改pom.xml:重点修改groupId、artifactId、version、name、的内容
  • Eclipse-Import-Maven-Existing Maven Projects
  • 重命名:项目名、包名、java文件中类名和菜单路径
  1. Run as Java application 确保程序可以正常运行
  2. Run as Maven build 控制台输出BUILD SUCCESS 则表示程序成功打包为jar包(保存在target目录下)
  3. 将jar包粘贴至Fiji的plugin目录,运行软件测试插件效果

问题记录

  1. 如果pom.xml中报错,则尝试修改,并等待右下角更新完成
  2. 打包好的插件在ImageJ中无法正常运行,报错java.lang.ClassCastException: com.chen.brain.pluginMain cannot be cast to org.scijava.plugin.SciJavaPlugin
    报错原因:pluginMain类没有实现org.scijava.command.Command接口,而这是必须的,才能将其识别为有效的SciJava插件。@Plugin注解用于指定该类应注册为一个命令插件,但由于它没有实现所需的接口,因此会导致ClassCastException异常。
    解决方案:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    import org.scijava.command.Command;
    import org.scijava.plugin.Plugin;

    @Plugin(type = Command.class, menuPath = "Plugins>brainRegistration")
    public class pluginMain implements Command {

    // 省略其他部分

    @Override
    public void run() {
    // 在这里实现插件的逻辑
    }

    public static void main(String[] args) {
    new pluginMain().location();
    }
    }
  3. 在Eclipse中初次导入项目时,要等待build(可能需要等待几分钟)
  4. 最好在官方提供的模板基础上写自己的代码,而不是用自己新建的maven项目

参考内容