添加hive jdbc依赖项会破坏Glassfish部署

时间:2017-01-16 21:24:17

标签: java hadoop jdbc hive glassfish

我正在构建一个Java webapp,需要通过JDBC访问Hive,部署在Glassfish上。

一旦hive jdbc maven依赖

<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-jdbc</artifactId>
    <version>2.1.0</version>
</dependency>
添加

,部署中断和Glassfish提供以下异常:

部署期间发生错误:加载应用程序时出现异常:CDI部署失败:WELD-001408:类型为Injector的依赖项不满意,注入点带有限定符@Default [BackedAnnotatedParameter] [BackedAnnotatedConstructor]的参数1 @Inject public org.apache。 hadoop.yarn.server.resourcemanager.webapp.RMWebAppFilter(Injector)at org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebAppFilter。(RMWebAppFilter.java:0)。有关更多详细信息,请参阅server.log。

3 个答案:

答案 0 :(得分:1)

这似乎是由 Glassfish 4.1.1(1)提供的libs的依赖性问题。

适用于 Glassfish 4.1(13)。如果可能,您应该使用此版本。
你可以在这里下载:https://glassfish.java.net/download-archive.html

答案 1 :(得分:1)

通过

解决了这个问题
  • 从Glassfish 4.1(1)更新为Glassfish 4.1(13)。然而,这本身并没有解决问题。
  • 在管理控制台的Glassfish部署屏幕上,我禁用了隐式CDI发现。

答案 2 :(得分:1)

Hive-jdbc有一些不幸的依赖(javax。*,jetty等)。 您的错误来自传递中包含的YARN webapp。

尝试减少hive-jdbc的Maven依赖关系, 因为某些依赖项(如YARN)不属于JDBC驱动程序。