我在运行内存中的 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:
- java.lang.NullPointerException
- java.lang.IllegalStateException: Unable to perform operation: method inject on com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$App
- 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` :
暂无答案!
目前还没有任何答案,快来回答吧!