java - Betfair 的 Java Streaming API 入门

标签 java eclipse swagger-codegen betfair

我正在尝试开始使用 Betfair 的 Java 流 API,但在构建/运行其示例应用程序时遇到问题。以下是我到目前为止所采取的步骤...

克隆项目:

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

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

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

在 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 无法解析为类型”。

接下来我应该尝试什么?

最佳答案

首先,添加以下内容:

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

..到 swagger/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.jargenerate -i ESASwaggerSchema.json -l java ..生成一个(完全新的/不同的)maven 项目,所以请不要:

-o java/swagger

但是:

-o java/someothernewfolder

...这个生成的项目您也可以导入到 eclipse 中...并且它具有相同的“bug”(请参阅​​第一部分))。因此,还请添加 javax.annotation 依赖项并构建 (someothernewfolder)。

关于java - Betfair 的 Java Streaming API 入门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54250887/

相关文章:

gradle - 尝试使用gradle-swagger-generator-plugin生成代码时,获取java.lang.NoSuchMethodError:org.joda.time.DateTime.now()Lorg/joda/time/DateTime

Java 8 基于 list<String> 字符串到列表 <String> 的流排序映射

java - Java 中两个类之间的事件处理程序

Eclipse 错误 : This project has the JPA facet, 但无法创建 JPA 项目

android - Eclipse 缺少项目属性中的 C/C++ 构建和常规

java - 在 Eclipse RCP 中使用导航历史记录

java - 如何添加指向PDF文档文件附件的链接

java - 该程序打印所有团队的名称,而不仅仅是破坏规则的人

kotlin - 如何 swagger 生成 Kotlin?

c# - Swagger - 如何在 C# 中为子对象添加定义