自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南!
ImageJ 的完整斐济发行版由一百多个单独的组件组成。这些组件大部分是 ImageJ plugins;其余核心库、§§§3§§是§和其他一些资源(例如Fiji logo和自述文件)。
过去,斐济是从一个单一的源代码存储库构建的,随着时间的推移,该存储库变得难以管理。因此,现在,开发人员从填充的 Fiji.app/ 目录开始,仅构建他们想要更改的部分。
#下载斐济
对于开发者和用户来说第一步都是一样的:Download斐济,然后解压它。桌面是推荐的位置。
#安装Java
下一步是安装OpenJDK 8。您需要 JDK 才能开发 Java 代码。
检查并构建单独的插件/库
要插件,开发人员首先需要找出它包含在哪个文件中。 为此,只需调用命令查找器(快捷键⌃ Ctrl + L),键入您感兴趣的功能菜单项的(部分)标签,然后查看文件列。
每个单独的组件都保存在 fiji org on GitHub 中自己的存储库中。与给定 .jar 文件对应的存储库名称基本上与文件名相同,只是删除了尾随下划线。示例:Stitching_.jar 维护在 https://github.com/fiji/Stitching 的存储库中,Time_Lapse.jar 维护在 https://github.com/fiji/Time_Lapse 的存储库中。
如果对存储库的位置有疑问,只需调用Plugins › Debug › System Information并找到与相关文件相对应的部分。
一旦开发人员确定了她想要进一步修改或开发哪个插件或库,就可以很容易地按照this tutorial进行构建和贡献。
示例
假设我们要开发 Skeletonize3D 插件。其来源在 https://github.com/fiji/Skeletonize3D代码。第一步是维护克隆源代码:
$ git clone https://github.com/fiji/Skeletonize3D
Cloning into 'Skeletonize3D'...
remote: Counting objects: 115, done.
remote: Compressing objects: 100% (58/58), done.
remote: Total 115 (delta 46), reused 115 (delta 46)
Receiving objects: 100% (115/115), 22.81 KiB | 0 bytes/s, done.
Resolving deltas: 100% (46/46), done.
Checking connectivity... done.
您只需输入 $ 提示符后面的部分,即输入 git clone https://github.com/fiji/Skeletonize3D。其余内容请参考,以便您知道会发生什么。
然后我们使用命令行Maven来构建项目:
$ cd Skeletonize3D/
$ mvn
[INFO] Scanning for projects...
[... lots and lots of interesting and useful information ...]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 52.574s
[INFO] Finished at: Tue Dec 02 10:27:00 CET 2014
[INFO] Final Memory: 20M/81M
[INFO] ------------------------------------------------------------------------
最后,让我们构建项目将其安装到 Fiji.app/ 目录中:
$ mvn -Dimagej.app.directory=$HOME/Desktop/Fiji.app/ -Ddelete.other.versions=true
[INFO] Scanning for projects...
[... lots and lots of interesting and useful information ...]
[INFO]
[INFO] --- imagej-maven-plugin:0.5.4:copy-jars (copy-jars) @ Skeletonize3D_ ---
[INFO] Copying Skeletonize3D_-1.0.2-SNAPSHOT.jar to $HOME/Desktop/Fiji.app/plugins
[INFO] Deleted overridden Skeletonize3D_-1.0.1.jar
[INFO] Copying ij-1.49j.jar to $HOME/Desktop/Fiji.app/jars
[INFO] Deleted overridden ij-1.49m.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.331s
[INFO] Finished at: Tue Dec 02 10:30:02 CET 2014
[INFO] Final Memory: 14M/81M
[INFO] ------------------------------------------------------------------------
当然,这假设您遵循建议将斐济解压到桌面上。如果您在其他地方解压它,您必须相应地调整命令行。
请注意,项目在 pom.xml 文件中指定的无意依赖项版本将复制到 Fiji.app/ 目录中,可能会替换其他版本。您需要确保使用与当前版本没有手工不同的版本。