[jira] [Updated] (HBASE-9479) Using HBase Jars is Way Too Hard
[ https://issues.apache.org/jira/browse/HBASE-9479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Williams updated HBASE-9479: -- Summary: Using HBase Jars is Way Too Hard (was: Using HBase Jars is Too Difficult) Using HBase Jars is Way Too Hard 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 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 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} dependencyManagement dependencies dependency groupIdorg.jboss.netty/groupId artifactIdnetty/artifactId version3.2.4.Final/version /dependency dependency groupIdorg.codehaus.jackson/groupId artifactIdjackson-core-asl/artifactId version1.9.12/version /dependency dependency groupIdorg.codehaus.jackson/groupId artifactIdjackson-jaxrs/artifactId version1.9.12/version /dependency dependency groupIdcom.sun.xml.bind/groupId artifactIdjackson-jaxrs/artifactId version2.2.6/version /dependency dependency groupIdcom.sun.xml.bind/groupId artifactIdjaxb-impl/artifactId version2.2.6/version /dependency dependency groupIdlog4j/groupId artifactIdlog4j/artifactId version1.2.16/version /dependency dependency groupIdasm/groupId artifactIdasm/artifactId version3.3.1/version /dependency dependency groupIdcommons-codec/groupId artifactIdcommons-codec/artifactId version1.4/version /dependency dependency groupIdcommons-lang/groupId
[jira] [Updated] (HBASE-9479) Using HBase Jars is Way Too Hard
[ https://issues.apache.org/jira/browse/HBASE-9479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Williams updated HBASE-9479: -- Description: 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 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} dependencyManagement dependencies dependency groupIdorg.jboss.netty/groupId artifactIdnetty/artifactId version3.2.4.Final/version /dependency dependency groupIdorg.codehaus.jackson/groupId artifactIdjackson-core-asl/artifactId version1.9.12/version /dependency dependency groupIdorg.codehaus.jackson/groupId artifactIdjackson-jaxrs/artifactId version1.9.12/version /dependency dependency groupIdcom.sun.xml.bind/groupId artifactIdjackson-jaxrs/artifactId version2.2.6/version /dependency dependency groupIdcom.sun.xml.bind/groupId artifactIdjaxb-impl/artifactId version2.2.6/version /dependency dependency groupIdlog4j/groupId artifactIdlog4j/artifactId version1.2.16/version /dependency dependency groupIdasm/groupId artifactIdasm/artifactId version3.3.1/version /dependency dependency groupIdcommons-codec/groupId artifactIdcommons-codec/artifactId version1.4/version /dependency dependency groupIdcommons-lang/groupId artifactIdcommons-lang/artifactId version2.5/version /dependency dependency groupIdorg.slf4j/groupId artifactIdslf4j-api/artifactId version1.7.5/version /dependency dependency groupIdcommons-logging/groupId artifactIdcommons-logging/artifactId
[jira] [Updated] (HBASE-9479) Using HBase Jars is Way Too Hard
[ https://issues.apache.org/jira/browse/HBASE-9479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Williams updated HBASE-9479: -- Description: 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} dependencyManagement dependencies dependency groupIdorg.jboss.netty/groupId artifactIdnetty/artifactId version3.2.4.Final/version /dependency dependency groupIdorg.codehaus.jackson/groupId artifactIdjackson-core-asl/artifactId version1.9.12/version /dependency dependency groupIdorg.codehaus.jackson/groupId artifactIdjackson-jaxrs/artifactId version1.9.12/version /dependency dependency groupIdcom.sun.xml.bind/groupId artifactIdjackson-jaxrs/artifactId version2.2.6/version /dependency dependency groupIdcom.sun.xml.bind/groupId artifactIdjaxb-impl/artifactId version2.2.6/version /dependency dependency groupIdlog4j/groupId artifactIdlog4j/artifactId version1.2.16/version /dependency dependency groupIdasm/groupId artifactIdasm/artifactId version3.3.1/version /dependency dependency groupIdcommons-codec/groupId artifactIdcommons-codec/artifactId version1.4/version /dependency dependency groupIdcommons-lang/groupId artifactIdcommons-lang/artifactId version2.5/version /dependency dependency groupIdorg.slf4j/groupId artifactIdslf4j-api/artifactId version1.7.5/version /dependency