Return-Path: X-Original-To: apmail-hbase-dev-archive@www.apache.org Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2573610165 for ; Mon, 9 Sep 2013 21:23:02 +0000 (UTC) Received: (qmail 86429 invoked by uid 500); 9 Sep 2013 21:22:57 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 86309 invoked by uid 500); 9 Sep 2013 21:22:55 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 86227 invoked by uid 99); 9 Sep 2013 21:22:53 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Sep 2013 21:22:53 +0000 Date: Mon, 9 Sep 2013 21:22:53 +0000 (UTC) From: "Lars Hofhansl (JIRA)" To: dev@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Resolved] (HBASE-9479) Using HBase Jars in Webapp Causes Many Issues MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-9479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Lars Hofhansl resolved HBASE-9479. ---------------------------------- Resolution: Invalid I agree with Nicholas. [~mobiusinversion], we're not trying to be nasty (really, we're nice folks). But this just isn't something specific to HBase. If you have a specific solution in mind (maybe a patch even? :) ), we can reopen and commit the fix. > Using HBase Jars in Webapp Causes Many Issues > --------------------------------------------- > > Key: HBASE-9479 > URL: https://issues.apache.org/jira/browse/HBASE-9479 > Project: HBase > Issue Type: Bug > Reporter: David Williams > > Right now, HBase contains so many dependencies, that using the most basic HBase functionality such as HConnection in a larger application is unreasonable hard. For example, trying to include HBase connectivity in a Spring web app leads to hundreds of JarClassLoader errors such as: > {code} > JarClassLoader: Warning: org/apache/commons/collections/FastHashMap$CollectionView.class in lib/commons-collections-3.2.1.jar is hidden by lib/commons-beanutils-core-1.8.3.jar (with different bytecode) > JarClassLoader: Warning: org/apache/commons/collections/FastHashMap$EntrySet.class in lib/commons-collections-3.2.1.jar is hidden by lib/commons-beanutils-core-1.8.3.jar (with different bytecode) > JarClassLoader: Warning: org/apache/commons/collections/FastHashMap$KeySet.class in lib/commons-collections-3.2.1.jar is hidden by lib/commons-beanutils-core-1.8.3.jar (with different bytecode) > JarClassLoader: Warning: org/apache/commons/collections/FastHashMap$Values.class in lib/commons-collections-3.2.1.jar is hidden by lib/commons-beanutils-core-1.8.3.jar (with different bytecode) > JarClassLoader: Warning: org/apache/commons/collections/FastHashMap.class in lib/commons-collections-3.2.1.jar is hidden by lib/commons-beanutils-core-1.8.3.jar (with different bytecode) > JarClassLoader: Warning: javax/servlet/Filter.class in lib/servlet-api-2.5-6.1.14.jar is hidden by lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode) > JarClassLoader: Warning: javax/servlet/FilterChain.class in lib/servlet-api-2.5-6.1.14.jar is hidden by lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode) > JarClassLoader: Warning: javax/servlet/FilterConfig.class in lib/servlet-api-2.5-6.1.14.jar is hidden by lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode) > JarClassLoader: Warning: javax/servlet/GenericServlet.class in lib/servlet-api-2.5-6.1.14.jar is hidden by lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode) > JarClassLoader: Warning: javax/servlet/http/Cookie.class in lib/servlet-api-2.5-6.1.14.jar is hidden by lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode) > {code} > Why is this all bundled together? Why not have an "hbase-client" or "hbase-client-dev" package which is friendly for creating applications? > I have spent 2+ days attempting to run a web service which is backed by HBase with no luck. I have created several stack overflow questions: > http://stackoverflow.com/questions/18703903/java-massive-class-collision > http://stackoverflow.com/questions/18690582/how-to-create-jetty-spring-app-with-hbase-connection > The use of BeanUtils is also known to have a very bad issue: > "The three jars contain wrong classes" > https://issues.apache.org/jira/browse/BEANUTILS-398 > Why is this so difficult? How do I include what I need to make an HBase app. So far I have tried using Maven, but this approach is draconian, and I have not succeeded. Am I Pwned? > {code} > > > > org.jboss.netty > netty > 3.2.4.Final > > > org.codehaus.jackson > jackson-core-asl > 1.9.12 > > > org.codehaus.jackson > jackson-jaxrs > 1.9.12 > > > com.sun.xml.bind > jackson-jaxrs > 2.2.6 > > > com.sun.xml.bind > jaxb-impl > 2.2.6 > > > log4j > log4j > 1.2.16 > > > asm > asm > 3.3.1 > > > commons-codec > commons-codec > 1.4 > > > commons-lang > commons-lang > 2.5 > > > org.slf4j > slf4j-api > 1.7.5 > > > commons-logging > commons-logging > 1.1.1 > > > org.codehaus.jackson > jackson-mapper-asl > 1.9.12 > > > org.slf4j > slf4j-log4j12 > 1.6.1 > > > org.apache.httpcomponents > httpcore > 4.1.3 > > > commons-httpclient > commons-httpclient > 3.1 > > > org.codehaus.jackson > jackson-xc > 1.9.12 > > > commons-beanutils > commons-beanutils-core > 1.8.3 > > > commons-beanutils > commons-beanutils > 1.8.3 > > > > > > commons-beanutils > commons-beanutils-core > 1.8.3 > > > commons-beanutils > commons-beanutils > 1.8.3 > provided > > > org.apache.cxf > cxf-rt-frontend-jaxrs > 2.7.2 > > > org.apache.cxf > cxf-rt-frontend-jaxws > 2.7.2 > > > org.codehaus.jackson > jackson-core-asl > 1.9.12 > > > org.codehaus.jackson > jackson-mapper-asl > 1.9.12 > > > org.codehaus.jackson > jackson-jaxrs > 1.9.12 > > > org.codehaus.jackson > jackson-xc > 1.9.12 > > > org.springframework > spring-core > 3.2.4.RELEASE > > > org.springframework > spring-context > 3.2.4.RELEASE > > > org.springframework > spring-webmvc > 3.2.4.RELEASE > > > ch.qos.logback > logback-classic > 1.0.13 > > > ch.qos.logback > logback-core > 1.0.13 > > > junit > junit > 4.11 > test > > > net.sf.opencsv > opencsv > 2.3 > > > javax.inject > javax.inject > 1 > > > org.eclipse.jetty > jetty-server > 9.0.4.v20130625 > > > org.eclipse.jetty > jetty-webapp > 9.0.4.v20130625 > > > org.apache.hbase > hbase > 0.94.11 > > > org.codehaus.jackson > jackson-core-asl > > > org.codehaus.jackson > jackson-jaxrs > > > org.codehaus.jackson > jackson-mapper-asl > > > org.codehaus.jackson > jackson-xc > > > com.sun.jersey > jersey-core > > > com.sun.jersey > jersey-json > > > com.sun.jersey > jersey-server > > > org.mortbay.jetty > jetty > > > com.sun.jersey > jetty-util > > > com.sun.jersey > jsp-2.1 > > > com.sun.jersey > jsp-api-2.1 > > > com.sun.jersey > servlet-api-2.5 > > > javax.xml.bind > jaxb-api > > > tomcat > jasper-compiler > > > tomcat > jasper-runtime > > > org.slf4j > slf4j-api > > > org.slf4j > slf4j-log4j12 > > > org.apache.thrift > libthrift > > > > > org.apache.hadoop > hadoop-core > 1.2.1 > > > com.sun.jersey > jersey-core > > > com.sun.jersey > jersey-json > > > com.sun.jersey > jersey-server > > > tomcat > jasper-compiler > > > tomcat > jasper-runtime > > > > > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira