XChange新手指南

​ 本文档将帮助您启动并运行自己的开发环境,以便基于Eclipse使用XChange。

1. 先决条件

​ 由于每个人都使用不同的计算机和操作系统,因此不可能提供在每个系统上安装每个工具的分步说明。但是无论您使用什么系统,但本指南应能让您大致了解。

. Java

    XChange由Java语言编写。有很多地方可以找到有关Java的详细信息。

​ 如果 Java 尚未安装,则需要在计算机上安装 Java。

. Eclipse

Eclipse是一个 IDE(集成开发环境)。虽然您可以在基本文本编辑器中编辑所有源文件,从命令行编译和运行程序,但 Eclipse 会尝试使该过程更容易。IDE的其他功能包括重构工具、调试器、类路径管理和专用文件类型编辑器,并且额外的插件数量非常多。另一种流行的替代Java IDE是IntelliJ

​ 您需要在计算机上安装 Eclipse。

. Maven

Maven管理依赖项并编译代码。大多数软件项目都使用第三方依赖关系。在 Java 中,这些依赖项编译后以jars的形式出现。如果没有 Maven,您需要手动查找 Internet 上的jar,然后手动添加到项目和项目的类路径中。使用 Maven,您只需在位于项目根目录的一个名为pom.xml的文件中定义项目的依赖项。Maven会获取必要的jars,然后添加到您的项目中。此外,Maven 将使用简单命令(如 mvn package)为您构建项目。

m2e是一种 Eclipse 插件,将Maven集成到 Eclipse 中。

​ 您需要将m2e插件安装到 Eclipse 中。 m2e有自己的嵌入式maven安装,因此您不必单独安装maven。在 Eclipse 中,转到Help –> ‘Eclipse Marketplace…‘并搜索"Maven”。单击 m2eclipse 插件安装。

. SourceTree

SourceTree是一个不错的基于 GUI 的客户端,它是跨平台的,并且经常更新。

​ 您需要在计算机上安装 SourceTree(或某些 git 客户端)。它还为您安装Git,因此您不必单独安装git。

. 克隆与分叉

克隆:如果您是一个repo的所有者或提交者,或者您只对阅读项目代码感兴趣,则应克隆一个repo。克隆repo时,您将在本地计算机上创建远程repo的本地副本。使用 git 客户端,您可以commit你的修改/更新到本地克隆,然后将commits提交到远程存储库。

分叉:如果您是参与者,并且计划将更改贡献回repo,则应分叉一个repo。分叉存储库时,您将在 GitHub 上创建远程存储库的本地副本。该repo现在是您所有的,并且对于原始repo是分开的。然后,您需要克隆分叉repo到本地计算机上。要将代码贡献回原始存储库,首先需要推送commits 到分叉,然后通过 GitHub 网站提交拉取请求。

​ 如果您计划浏览源代码、修复错误或以任何方式进行贡献,则需要将 XChange 的源代码克隆到本地计算机。如果要在 XChange 之上构建自己的应用,则无需将 XChange 的源代码克隆到本地计算机。

2. 将 XChange 导入 Eclipse 并运行一些示例

​ 您可能要做的第一件事就是将 XChange 导入 Eclipse 并运行一些示例。如果可以成功执行此操作,就可以知道所有设置是正确的。甚至还可以开始在 XChange 本身中更改源代码以进行错误修复或功能添加。

  1. 打开Eclipse

  2. File –> Import, Maven –> Existing Maven Projects。在本地计算机上选择 XChange 的源代码,然后单击导入向导。

    Eclipse现在将导入整个XChange项目,该项目现在相当大,需要一段时间。m2e 需要一些时间来下载 XChange 的所有依赖项。如果成功导入,则不应看到任何错误(小红色 X)。您可以随时尝试右键单击xchange-parent文件夹并选择Maven –> Update Project。

    XChange 是一个"多模块"Maven 项目。在xchange-parent中,你会发现pom.xml,它引用所有子模块,这些子模块也都有自己的pom.xml

  3. 向下找到xchange-examples –>

    org.knowm.xchange.examples.bitstamp.marketdata.TickerDemo.java

  4. 通过在树视图中选择org.knowm.xchange.examples.bitstamp.marketdata.TickerDemo.java文件,右键单击它并选择” Run As –> Java Application"来运行。

下面是 Eclipse IDE 的带批注的屏幕截图,显示了上述元素。

img

3. 依赖 XChange 创建您自己的应用

  1. 打开Eclipse
  2. File –> New –> Project… -> Maven Project
  3. 查找"create simple project”。您可以使用默认位置或取消选中复选框并选择新位置。
  4. 将内容写入groupId和artifactId,比如org.knowm.xchangexchange-parent 。可选填写 Name 和 Description字段。单击"完成”。
  5. 打开 pom.xml 文件。在<dependencies>中添加以下代码:
<dependency>
  <groupId>org.knowm.xchange</groupId>
  <artifactId>xchange-bitstamp</artifactId>
  <version>5.0.0</version>
</dependency>

​ 现在,您可以在自己的自定义 Java 类中编写依赖于上述依赖项的代码。如果要基于XChange中的 BTCChina编写代码,则需要为依赖项添加xchange-btcchina依赖项。保存更改后,m2e 将从 Maven Central 下载jars,将其添加到项目中并自动将其添加到类路径中。

​ 顺便提一句,您可能想要使用 SNAPSHOT 依赖项,它们是尖端开发版本,这些依赖项是每次推送到主 XChange repo时自动构建的。它们托管在 Sonatype 的快照存储库中。只需查看 XChange 的根 pom.xml 文件,查看当前快照版本是什么。然后,您的依赖项将如下所示:

<dependency>
  <groupId>org.knowm.xchange</groupId>
  <artifactId>xchange-bitstamp</artifactId>
  <version>5.0.1-SNAPSHOT</version>
</dependency>

​ 可能需要额外的依赖关系。例如,您可能需要将 sf4j-simple 添加为依赖项,因为在将输出记录到控制台时,会使用此项。在这种情况下,编写时可以添加此记录器的最新版本,如下所示:

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>1.7.25</version>
</dependency>

​ 访问组件的当前版本https://mvnrepository.com/artifact/org.slf4j/slf4j-simple。

​ 注意:您还可以通过编辑项目的 pom.xml 文件并导航到"依赖项"选项卡,轻松从 Eclipse 搜索依赖项。搜索选项允许您轻松添加 XChange 组件的依赖项。

​ 注意:要添加 Sonatype 存储库,您需要在pom.xml文件中添加<repositories>标记,如下所示:

<repositories>
    <repository>
        <id>sonatype-oss-snapshot</id>
        <name>sonatype-oss-snapshot</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </repository>
</repositories>
  1. 保存pom.xml
  2. 可选,如果Eclipse没有变化:右键单击项目,并选择Maven -> Update Project…并在点击"确定"之前选择"Force Update”。
  3. 现在创建第一个应用。最简单的方法是从xchange-examples模块中复制现有示例类。每个类都有一个main方法,并演示了 XChange 的一些功能。只需将.java文件复制到src/main/java文件夹中。例如,如上所述的org.knowm.xchange.examples.bitstamp.marketdata.TickerDemo.java
  4. 通过在树视图中右键单击它并选择"Run As –> Java Application."。在 Eclipse 中的控制台中查找输出。

​ 您应该花时间来了解 Maven 项目的结构以及为什么如此设置结构。最重要的是,所有 Maven 项目都遵循以下结构:

  • src/main/java
  • src/main/resources
  • src/test/java
  • src/test/resources

​ resources文件夹用于非 Java 类文件,如类似*.properties的文件和其他配置文件。此外,在java文件夹内,您应该使用 Java 包创建层次结构和组织。它们实际上只是文件夹,但在 Java 中,它们称为包,在 Eclipse 中,您可以添加新包。

4. 最后

如果您从未在 Java 中编码过,并且使用了 Eclipse 和 Maven 等工具,那么前面有一条陡峭的学习曲线。如果你坚持足够长的时间,虽然,这一切都将令人难以置信的容易,这一切都将有意义。