ImageJ插件开发
开发流程
- 安装Java8 JDK (Windows x86 64-bit) https://docs.azul.com/core/zulu-openjdk/install/windows
- 安装Eclipse IDE for Java Developers https://www.eclipse.org/downloads/
- 在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文件中类名和菜单路径
- Run as Java application 确保程序可以正常运行
- Run as Maven build 控制台输出BUILD SUCCESS 则表示程序成功打包为jar包(保存在target目录下)
- 将jar包粘贴至Fiji的plugin目录,运行软件测试插件效果
问题记录
- 如果pom.xml中
报错,则尝试修改 ,并等待右下角更新完成 - 打包好的插件在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
17import org.scijava.command.Command;
import org.scijava.plugin.Plugin;
public class pluginMain implements Command {
// 省略其他部分
public void run() {
// 在这里实现插件的逻辑
}
public static void main(String[] args) {
new pluginMain().location();
}
} - 在Eclipse中初次导入项目时,要等待build(可能需要等待几分钟)
- 最好在官方提供的模板基础上写自己的代码,而不是用自己新建的maven项目
参考内容
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Stray Birds!
评论