原始 MediaWiki 页面

我知道编辑这个网站吗?
the ImageJ2 platform本页介绍与 the ImageJ2 platform 相关的内容。点击徽标查看详情。

在 Eclipse 中开发 ImageJ2

自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南

本文讲解如何安装、配置和使用Eclipse进行开发 ImageJ2 componentsplugins。说明对应于 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

Windows
避免权限问题。 我们建议将 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
  • 从菜单中选择JavaInstalled JREs
  • 选择WindowPreferences
  • 单击“搜索…”,导航到您的JDK安装文件夹(例如,C:\Program Files\Java\jdk1.8.0_11),然后单击“确定”
  • 选中出现的 JRE 旁边的框,然后单击“确定”

MacOS
了解 Java 6 与 Java 8。 Eclipse 无需进一步配置即可在 macOS 上运行。但是,我们建议阅读macOS section of the FAQ,因为 macOS 上存在一些与 Java 相关的问题。

Linux
避免权限问题。 我们建议安装到 $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,克隆您感兴趣的来源代码:

导入源码

1.从Eclipse菜单中选择Run AsRun 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-debugedit-compile-debugedit-compile-run调试-编辑-编译编辑-构建-测试-调试编辑-编译-链接-调试 或者…

启动ImageJ2

如果您克隆了imagej2 project, 您可以按如下方式启动该程序:

  1. 在 Package Explorer 中,展开 imagej2 项目 2.导航至src/main/java 3.导航至net.imagej 4.右键Main.java 5.选择“运行方式”,然后选择“Java应用程序”

其他项目会有不同的主类, 但一般程序是相同的。

在现有安装中测试您的插件

当您从 Eclipse 运行插件时,您只需使用类路径进行测试 该项目的——可能反映也可能不反映某个项目的环境 实际用户的安装。要在现有安装中测试您的插件,您 可以简单地复制 jar,或者使用 Maven 安装你的插件及其 依赖关系。

Setting up a new Maven Build configuration Setting up a new Maven Build configuration

选项1:复制jar

所有现代 Eclipse 安装都有 m2e 插件,因此您可以简单地告诉 Maven到 build the project。 这会在 /target 子目录中创建一个 .jar, 然后您可以将其复制到ImageJ2.app/jars/目录。

这是一个简单的选项,对现有的更改最少 安装。

选项2:安装依赖项

所有 mavenized ImageJ 项目都内置支持直接安装 到现有安装中,覆盖任何组件的先前版本, 并导出任何依赖项的最新版本。这是最可靠的 测试您的插件的方法,但请注意,它可能会对您的插件进行额外的更改 现有的 ImageJ 安装。

步骤如下:

  1. 在 Eclipse 中右键单击您的项目并选择 Run AsRun Configurations…

  2. 迭代到 Maven 构建。如果您使用 Maven 通过以下方式构建了此项目 Eclipse之前就已经有了它的配置了。否则你 可以通过“Maven Build”来创建新的运行配置。

3.添加参数:scijava.app.directory,其值: <path/to/ImageJ2.app>(例如/home/hinerm/Fiji.app

4.添加参数:scijava.deleteOtherVersions,值:always

  1. 单击Apply

您现在可以根据对话框运行该项目。只需要执行此操作 配置一次——未来使用 Maven Build 选项会自动将您的插件及其依赖项复制到 指定ImageJ应用程序。

添加新的插件

最简单的方法是从 minimal project,更名为 您的插件所需的名称。按照如下,项目目录应该 与要生成的.jar文件的基本名称匹配。

pom.xml的格式在 第Maven页。

最重要的是,您需要调整artifactIddependencies节。如果您需要未使用的依赖项 斐济,您可能需要搜索适当的groupIdversion 在第SciJava Maven repository中。

接下来,您将把 Java 源代码放入 src/main/java/ 并调整src/main/resources/plugins.config

之后,要求Eclipse导入它: FileImportMavenImport 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.jarimagej-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.

  1. 检查-sources JAR 是否已下载到本地。
    • Navigate to <path-to-.m2-repo>/repository/<groupId>/<artifactId>/<version> and see if there is a -sources JAR 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 -sources JAR, the command you’d type would be:
        mvn dependency:get -Dartifact=net.imagej:imagej-common:0.24.4:jar:sources
        

        3.如果-sources JAR存在,您可以通过运行来检查其内容 the following command from the terminal:

         jar tr <path-to-.m2-repo>/repository/<groupId>/<artifactId>/<version>/<jar-name>-sources.jar
        
    • 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 检索来源。

请注意,这样做只能让您查看来源代码,而不能 允许您编辑它。如果您需要编辑这些文件,请参阅 snapshot coupling 部分了解更多信息。

另请参阅