自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南!
本文讲解如何安装、配置和使用Eclipse进行开发 ImageJ2 components 和 plugins。说明对应于 Eclipse 4.4 Luna,并且可能需要 其他版本的调整。
初始设置
安装Java开发工具包
- 为了安全起见,您可能需要JavaFX(用于GUI)下载Java8 JDK with FX from Azul。确保它的升级并选择适当的操作系统(Windows、Linux等)和体系结构(因为大多数系统为x86 64位,但较旧的系统可能是32位)。请注意安装的位置,您需要在Eclipse中再次找到它! -或者,下载并安装OpenJDK。
安装并配置Eclipse
安装 Eclipse
- 从以下位置下载“面向Java开发人员的Eclipse IDE” Eclipse website.
It is important to choose “Eclipse IDE for Java Developers” because it contains Maven support built-in. Otherwise, you will have to install the M2E plugin manually.
- 将文档解压到您选择的位置。
为您的平台配置 Eclipse
避免权限问题。 我们建议将 Eclipse 安装在 Program Files 目录的“外部”。例如:C:\Users\frood\Programs\eclipse,其中C:\Users\frood是您的用户目录。
配置Eclipse。安装Eclipse后,您需要在此进行配置以了解您的JDK。
使用写字板编辑Eclipse安装中的eclipse.ini文件(例如,C:\Users\frood\Programs\eclipse)。(不要使用记事本,因为它无法正确处理Unix风格的退出换行符。)请仔细遵循these instructions指定正确的JDK。然后保存文件并退出写字板。
现在更新 Eclipse 的 JRE 以支持 JDK:
- 启动 Eclipse
- 从菜单中选择Java › Installed JREs
- 选择Window › Preferences
- 单击“搜索…”,导航到您的JDK安装文件夹(例如,
C:\Program Files\Java\jdk1.8.0_11),然后单击“确定” - 选中出现的 JRE 旁边的框,然后单击“确定”
![]()
了解 Java 6 与 Java 8。 Eclipse 无需进一步配置即可在 macOS 上运行。但是,我们建议阅读macOS section of the FAQ,因为 macOS 上存在一些与 Java 相关的问题。
避免权限问题。 我们建议安装到 $HOME/eclipse。
不要使用包管理器。由于多种原因,我们不建议从包管理器安装 Eclipse。您可能无法获得足够新的 Eclipse 版本(我们建议 4.3+),您将无法获得包含 M2E 插件的 Java Developers 版本,并且由于系统范围安装的权限问题,您可能会在安装其他时遇到问题。
调整 Eclipse 字体大小。有时需要更改 Eclipse 字体大小。为此,请创建一个 GTK 配置文件(例如 ~/.gtkrc-eclipse)并在其中以下放置行:
style "eclipse" {
font_name = "Sans Condensed 8"
}
class "GtkWidget" style "eclipse"
然后使用以下命令运行eclipse:GTK2_RC_FILES=~/.gtkrc-eclipse eclipse
克隆源代码
使用您的Git client of choice,克隆您感兴趣的来源代码:
- 如果您想要处理现有项目,请参阅list of sources。
- 如果您想创建自己的项目,请参阅building a pom指南。
导入源码
1.从Eclipse菜单中选择Run As › Run Configurations… 2.选择“现有Maven项目”,点击下一步 3.浏览克隆项目源代码的文件夹 4.单击“完成”
Eclipse 将导入并自动构建项目。不应该有任何构建错误,但大量(通常是几百个)警告是正常的。这些大多来自 Java-1.4 风格的代码或作者源中不必要的导入、标记或方法,这些作者不使用 IDE,因此在清理方面看到没有自动帮助。所有这些警告都可以忽略,对代码的功能没有影响。
如果您在如何导入和构建 Maven + Eclipse 项目时遇到困难,请观看此视频:How To Setup and Make a Fiji Plugin
#键盘快捷键
| 导航 | |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + ⇧ Shift + R | 从工作区打开Java类 |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + ⇧ Shift + T | 从工作区打开文件 |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + O |
Jump to selected class (to edit the code, see 快照接头) |
| F3 | 显示超类/子类层次结构 |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + L | 显示接口或类的实现 |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + T | 转到行号 |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + E | 转到上次编辑位置 |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + Q | 转到编辑器中的下一个文件 |
| 编辑 | |
| ⌥ Alt + ↓ Down, ⌥ Alt + ↑ Up | 或向上向下移动当前行 |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + / | 删除当前行 |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + D | 注释/取消注释所选行 |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + ␣ Space | 快速修复选定错误 |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + 1 | 自动完成当前选择 |
| 代码清理 | |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + ⇧ Shift + F | 组织进口 |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + ⇧ Shift + O |
Format code (BUT make sure you set the 编码风格) |
| U, ⌥ Alt + ⇧ Shift + S | 清理(等等) |
| ⌃ Ctrl / ⌘ ⌃ Ctrl 在电脑上 ⌘ 命令 在苹果机上 + ⇧ Shift + B | 重构/重命名选定的类别/指标 |
| 调试 | |
| ⌥ Alt + ⇧ Shift + R | 设立/删除断点 |
| F6 | 步入 |
| F5 | 跨过去 |
| F3 | 出去去 |
运行-调试循环
现在您已将项目成功嵌入到Eclipse中,您可以运行 它,更改代码,然后再次运行,根据需要迭代以开发功能 并修复错误。这个过程被称为“运行-调试周期”——尽管有些 人们称呼 compile-debug 或 edit-compile-debug 或 edit-compile-run 或 调试-编辑-编译或编辑-构建-测试-调试或编辑-编译-链接-调试 或者…
启动ImageJ2
如果您克隆了imagej2 project, 您可以按如下方式启动该程序:
- 在 Package Explorer 中,展开
imagej2项目 2.导航至src/main/java3.导航至net.imagej4.右键Main.java5.选择“运行方式”,然后选择“Java应用程序”
其他项目会有不同的主类, 但一般程序是相同的。
在现有安装中测试您的插件
当您从 Eclipse 运行插件时,您只需使用类路径进行测试 该项目的——可能反映也可能不反映某个项目的环境 实际用户的安装。要在现有安装中测试您的插件,您 可以简单地复制 jar,或者使用 Maven 安装你的插件及其 依赖关系。
选项1:复制jar
所有现代 Eclipse 安装都有 m2e 插件,因此您可以简单地告诉
Maven到
build the project。
这会在 /target 子目录中创建一个 .jar,
然后您可以将其复制到ImageJ2.app/jars/目录。
这是一个简单的选项,对现有的更改最少 安装。
选项2:安装依赖项
所有 mavenized ImageJ 项目都内置支持直接安装 到现有安装中,覆盖任何组件的先前版本, 并导出任何依赖项的最新版本。这是最可靠的 测试您的插件的方法,但请注意,它可能会对您的插件进行额外的更改 现有的 ImageJ 安装。
步骤如下:
-
在 Eclipse 中右键单击您的项目并选择 Run As › Run Configurations…
-
迭代到 Maven 构建。如果您使用 Maven 通过以下方式构建了此项目 Eclipse之前就已经有了它的配置了。否则你 可以通过“Maven Build”来创建新的运行配置。
3.添加参数:scijava.app.directory,其值:
<path/to/ImageJ2.app>(例如/home/hinerm/Fiji.app)
4.添加参数:scijava.deleteOtherVersions,值:always
- 单击
Apply
您现在可以根据对话框运行该项目。只需要执行此操作 配置一次——未来使用 Maven Build 选项会自动将您的插件及其依赖项复制到 指定ImageJ应用程序。
添加新的插件
最简单的方法是从
minimal project,更名为
您的插件所需的名称。按照如下,项目目录应该
与要生成的.jar文件的基本名称匹配。
pom.xml的格式在
第Maven页。
最重要的是,您需要调整artifactId和
dependencies节。如果您需要未使用的依赖项
斐济,您可能需要搜索适当的groupId和version
在第SciJava Maven repository中。
接下来,您将把 Java 源代码放入 src/main/java/
并调整src/main/resources/plugins.config。
之后,要求Eclipse导入它: File › Import › Maven › Import Existing Maven Project.
查看依赖源
当跳转到 Eclipse 中的依赖类时(使用 F3), you may see a message stating “Source not found”.
对于 Maven 依赖项,目录中必须有一个 -sources 分类器 JAR
存储库位于主 JAR 旁边。例如,imagej-common 有一个
imagej-common-0.24.4.jar 和 imagej-common-0.24.4-sources.jar。在
从理论上讲,Eclipse M2E 插件应该下载此 -sources JAR 并
当您跳到教程时会自动显示给您。
但是,如果由于某种原因这件事没有发生 您可以尝试以下步骤。
1.尝试右键单击Eclipse中Maven依赖项中的JAR,然后
selecting “Download Sources”. This should force Eclipse to download the
-sources JAR.
- 检查
-sourcesJAR 是否已下载到本地。- Navigate to
<path-to-.m2-repo>/repository/<groupId>/<artifactId>/<version>and see if there is a-sourcesJAR there. - If it is not, then in a terminal navigate to the folder containing your
project’s pom.xml file. And then from the command line run:
mvn dependency:get -Dartifact=groupId:artifactId:version:packaging:classifier- For example if a project depended on imagej-common and you needed
to retrieve the
-sourcesJAR, the command you’d type would be:mvn dependency:get -Dartifact=net.imagej:imagej-common:0.24.4:jar:sources3.如果
-sourcesJAR存在,您可以通过运行来检查其内容 the following command from the terminal:jar tr <path-to-.m2-repo>/repository/<groupId>/<artifactId>/<version>/<jar-name>-sources.jar
- For example if a project depended on imagej-common and you needed
to retrieve the
- If the file in question isn’t there, then unfortunately
this project doesn’t have source for that class.
如果您尝试查看的类是 JRE 的一部分并且您使用的是 Linux,
您可能需要运行
sudo apt install openjdk-<java-version-number>-sources检索来源。
- Navigate to
请注意,这样做只能让您查看来源代码,而不能 允许您编辑它。如果您需要编辑这些文件,请参阅 snapshot coupling 部分了解更多信息。
