dropwizard、swagger和内存中的hiverunner/hiveqlunit集成

30byixjq  于 2021-06-28  发布在  Hive
关注(0)|答案(0)|浏览(354)

我在运行内存中的 hive 在为一个
dropwizard swagger 应用程序。我两个都试过了 hiverunner 以及 hiveqlunit .
有两种类型的测试。一个是测试 dropwizard / swagger api终结点使用 dropwizard 集成测试(不需要 hive 另一个是测试 hive 在集成中,我需要点击api并在内存中设置一个 hive 查询和验证数据是否存储在 hiveDB (psql)。
记忆中的两个 hive 依赖项(请注意,我一次只使用一个依赖项)总是与现有的依赖项存在某种冲突 dropwizard 以及 swagger 依赖关系。我猜这和 jersey 但我试了很多东西,还是没有运气。
我可以在记忆中奔跑 hive 一切都很好 CRUD 如果我没有击中 dropwizard/swagger 应用程序编程接口。但我现在不能让这两种服务配合起来。
中的版本 Maven :

io.dropwizard:dropwizard-core version: 0.9.2
com.smoketurner:dropwizard-swagger version: 0.9.2-3
com.facebook.presto.hive:hive-apache-jdbc version: 0.13.1-3

com.klarna:hiverunner version: 3.0.0
OR
org.finra.hiveqlunit:hiveQLUnit version: 1.0
``` `dropwizard-swagger` 使用 `org.reflections:reflections:jar:0.9.10` 以及 `com.klarna:hiverunner` 使用 `org.reflections:reflections:jar:0.9.8` .
当我没有排除任何东西时,我得到了以下信息:

java.lang.NoSuchMethodError: org.reflections.util.ClasspathHelper.forPackage(Ljava/lang/String;[Ljava/lang/ClassLoader;)Ljava/util/Collection;

所以我试着排除 `org.reflections:reflections` 从 `hiverunner` 我拿到了3分 `Exceptions` :

java.lang.RuntimeException: javax.servlet.ServletException: io.dropwizard.jersey.setup.JerseyServletContainer-73437222@8a344094==io.dropwizard.jersey.setup.JerseyServletContainer,1,false
Caused by: A MultiException has 3 exceptions. They are:

  1. java.lang.NullPointerException
  2. java.lang.IllegalStateException: Unable to perform operation: method inject on com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$App
  3. java.lang.IllegalStateException: Unable to perform operation: create on org.glassfish.jersey.message.internal.MessageBodyFactory
然后我试着排除 `org.reflections:reflections` 从 `dropwizard-swagger` 并为添加了一个单独的依赖项 `org.reflections:reflections` 通过将以下依赖项添加到 `pom.xml` :

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题