[
https://issues.apache.org/jira/browse/HBASE-13889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14593694#comment-14593694
]
Dmitry Minkovsky commented on HBASE-13889:
------------------------------------------
Thank you [~ndimiduk]! Yes I also got that far last week, I think.
Not related to this ticket but: I want to add here that I just noticed
http://hbase.apache.org/book.html#client_dependencies, where it says:
{quote}
Minimally, a client of HBase needs several libraries in its CLASSPATH when
connecting to a cluster, including:
{noformat}
commons-configuration (commons-configuration-1.6.jar)
commons-lang (commons-lang-2.5.jar)
commons-logging (commons-logging-1.1.1.jar)
hadoop-core (hadoop-core-1.0.0.jar)
hbase (hbase-0.92.0.jar)
log4j (log4j-1.2.16.jar)
slf4j-api (slf4j-api-1.5.8.jar)
slf4j-log4j (slf4j-log4j12-1.5.8.jar)
zookeeper (zookeeper-3.4.2.jar)
{noformat}
{quote}
which I hadn't really seen or properly registered before. It's interesting
that if the list of absolutely required dependencies is that small, that the
POM causes Maven to pull in so many others. I've temporarily resolved my
problem by not using Dropwizard and just plain Jersey, but if these are
actually the deps you need, then I think we have a totally different story as
there would be no conflict and I wouldn't have sought out the shaded jar in the
first place.
> hbase-shaded-client artifact is missing dependency (therefore, does not work)
> -----------------------------------------------------------------------------
>
> Key: HBASE-13889
> URL: https://issues.apache.org/jira/browse/HBASE-13889
> Project: HBase
> Issue Type: Bug
> Components: Client
> Affects Versions: 1.1.0, 1.1.0.1
> Environment: N/A?
> Reporter: Dmitry Minkovsky
> Priority: Blocker
> Fix For: 2.0.0, 1.2.0, 1.1.2
>
> Attachments: 13889.wip.patch, Screen Shot 2015-06-11 at 10.59.55
> AM.png
>
>
> The {{hbase-shaded-client}} artifact was introduced in
> [HBASE-13517|https://issues.apache.org/jira/browse/HBASE-13517]. Thank you
> very much for this, as I am new to Java building and was having a very
> slow-moving time resolving conflicts. However, the shaded client artifact
> seems to be missing {{javax.xml.transform.TransformerException}}. I examined
> the JAR, which does not have this package/class.
> Steps to reproduce:
> Java:
> {code}
> package com.mycompany.app;
>
>
>
>
>
> import org.apache.hadoop.conf.Configuration;
>
>
> import org.apache.hadoop.hbase.HBaseConfiguration;
>
>
> import org.apache.hadoop.hbase.client.Connection;
>
>
> import org.apache.hadoop.hbase.client.ConnectionFactory;
>
>
>
>
>
> public class App {
>
>
> public static void main( String[] args ) throws java.io.IOException {
>
>
>
> Configuration config = HBaseConfiguration.create();
>
>
> Connection connection = ConnectionFactory.createConnection(config);
>
>
> }
>
>
> }
> {code}
> POM:
> {code}
> <project xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/xsd/maven-4.0.0.xsd">
>
> <modelVersion>4.0.0</modelVersion>
>
>
>
>
>
> <groupId>com.mycompany.app</groupId>
>
>
> <artifactId>my-app</artifactId>
>
>
> <version>1.0-SNAPSHOT</version>
>
>
> <packaging>jar</packaging>
>
>
>
>
>
> <name>my-app</name>
>
>
> <url>http://maven.apache.org</url>
>
>
>
>
>
> <properties>
>
>
> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
>
>
> </properties>
>
>
>
>
>
> <dependencies>
>
>
> <dependency>
>
>
> <groupId>junit</groupId>
>
>
> <artifactId>junit</artifactId>
>
>
> <version>3.8.1</version>
>
>
> <scope>test</scope>
>
>
> </dependency>
>
>
> <dependency>
>
>
> <groupId>org.apache.hbase</groupId>
>
>
> <artifactId>hbase-shaded-client</artifactId>
>
>
> <version>1.1.0</version>
>
>
> </dependency>
>
>
> </dependencies>
>
>
> </project>
> {code}
> Run:
> {noformat}
> $ mvn exec:java -Dexec.mainClass="com.mycompany.app.App"
> [INFO] Scanning for projects...
> [INFO]
>
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Building my-app 1.0-SNAPSHOT
> [INFO]
> ------------------------------------------------------------------------
> [INFO]
> [INFO] --- exec-maven-plugin:1.4.0:java (default-cli) @ my-app ---
> [WARNING]
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.NoClassDefFoundError:
> org/apache/hadoop/hbase/shaded/javax/xml/transform/TransformerException
> at com.mycompany.app.App.main(App.java:17)
> ... 6 more
> Caused by: java.lang.ClassNotFoundException:
> org.apache.hadoop.hbase.shaded.javax.xml.transform.TransformerException
> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> ... 7 more
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 2.388 s
> [INFO] Finished at: 2015-06-11T13:23:21-04:00
> [INFO] Final Memory: 10M/111M
> [INFO]
> ------------------------------------------------------------------------
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)