1

我正在尝试开始使用 Betfair 的 Java 流 API,但是在构建/运行他们的示例应用程序时遇到了麻烦。这是我到目前为止所采取的步骤......

克隆项目:

git clone https://github.com/betfair/stream-api-sample-code.git

在 Eclipse 中,“从文件系统或存档导入项目”,然后打开 stream-api-sample-code/java文件夹

我现在在我的包资源管理器中看到了客户端、控制台和招摇项目。

在 Eclipse 窗口的底部,我看到 2 个错误:

The project cannot be built until its prerequisite client is built. Cleaning and building all projects is recommended
The project cannot be built until its prerequisite swagger is built. Cleaning and building all projects is recommended

我认为这是因为我需要按照此处所述创建 swagger 文件:

https://docs.developer.betfair.com/display/1smk3cen4v3lu3yomq5qye0ni/Exchange+Stream+API#ExchangeStreamAPI-SwaggerDefinition

所以我在 /stream-api-sample-code 文件夹中运行这个命令:

java -jar swagger-codegen-cli-2.2.1.jar generate -i ESASwaggerSchema.json -l java -o java/swagger

我现在在 /stream-api-sample-code/java/swagger 中有很多文件。在运行命令之前,我只有一个pom.xml文件。

我不确定下一步该做什么,但在 Eclipse 中,我右键单击了 swagger 项目,然后选择了“更新项目”。我现在在 eclipse 中看到了所有的新文件。

但我现在得到 888 错误,例如“AuthenticationMessage 无法解析为类型”。

接下来我应该尝试什么?

4

1 回答 1

2

首先,添加这个:

   <dependencies>
    ...
    <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>1.3.2</version>
    </dependency>
   ...
   </dependencies>

..大摇大摆/pom.xml。

这使得项目可以构建。(应该报告并轻松修复。)

------------------------------------------------------------------------
Reactor Summary:

esa-java-client .................................... SUCCESS [  0.625 s]
swagger ............................................ SUCCESS [ 13.746 s]
client ............................................. SUCCESS [  9.434 s]
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 24.259 s
Finished at: 2019-01-23T22:48:56+01:00
Final Memory: 26M/90M
------------------------------------------------------------------------

第二: java -jar swagger-codegen-cli-2.2.1.jar generate -i ESASwaggerSchema.json -l java..为您生成一个(完全新的/不同的)maven 项目,所以请不要:

-o java/swagger

但:

-o java/someothernewfolder

...这个生成的项目你也可以导入到 eclipse 中......它有相同的“bug”(见第一))。所以请同时添加 javax.annotation 依赖和构建(someothernewfolder)。

于 2019-01-23T21:50:08.893 回答