You could try shading the new guava to a different package and use that in
your code.
E.g. jena-shaded-guava does that

Op 20 jan. 2018 09:02 schreef "Debraj Manna" <[email protected]>:

> Mark
>
> hbase and hadoop is using the old guava. Is there a way I can use the
> latest guava in my code and let hadoop and hbase use the old guava.
>
> On 20-Jan-2018 1:19 PM, "Mark Prins" <[email protected]> wrote:
>
> > It seems that the guava versions are not API compatible, so shading is
> > unlikely to help. You will need to downgrade to a compatible version of
> > guava or get the other projects to upgrade.
> > -M
> >
> > Op 20 jan. 2018 07:51 schreef "Debraj Manna" <[email protected]>:
> >
> > I have posted more details in stackoverflow
> > <https://stackoverflow.com/questions/48140339/guava-23-5-
> > conflict-with-hbase-testing-util-1-2>.
> > I could not add all the details here because of size limitation.
> >
> > In a project I am using Guava 23.5 but some of the dependencies (hadoop &
> > hbase) are using old Guava 14. This is causing an exception during
> runtime
> >
> > As mentioned here <https://www.elastic.co/blog/to-shade-or-not-to-shade>
> I
> > tried to shade the Hbase dependency in a new module named shadedcdh.
> > pom.xml
> > looks like below
> >
> > ?xml version="1.0" encoding="UTF-8"?>
> >
> > <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";>
> >     <parent>
> >         <artifactId>main</artifactId>
> >         <groupId>com.vnera</groupId>
> >         <version>0.001-SNAPSHOT</version>
> >     </parent>
> >     <modelVersion>4.0.0</modelVersion>
> >
> >     <artifactId>shaded-cdh</artifactId>
> >     <packaging>jar</packaging>
> >
> >     <dependencies>
> >         <dependency>
> >             <groupId>org.apache.hbase</groupId>
> >             <artifactId>hbase-testing-util</artifactId>
> >             <version>1.2.0-cdh5.7.0</version>
> >         </dependency>
> >         <dependency>
> >             <groupId>org.apache.hadoop</groupId>
> >             <artifactId>hadoop-client</artifactId>
> >             <version>${hadoop.version}</version>
> >         </dependency>
> >         <dependency>
> >             <groupId>org.apache.hadoop</groupId>
> >             <artifactId>hadoop-common</artifactId>
> >             <version>${hadoop.version}</version>
> >         </dependency>
> >         <dependency>
> >             <groupId>org.apache.hbase</groupId>
> >             <artifactId>hbase-client</artifactId>
> >             <!-- This must stay in sync with hbase version we deploy. -->
> >             <version>1.2.0-cdh5.7.0</version>
> >         </dependency>
> >     </dependencies>
> >
> >     <build>
> >         <plugins>
> >             <plugin>
> >                 <groupId>org.apache.maven.plugins</groupId>
> >                 <artifactId>maven-shade-plugin</artifactId>
> >                 <version>2.4.1</version>
> >                 <executions>
> >                     <execution>
> >                         <phase>package</phase>
> >                         <goals>
> >                             <goal>shade</goal>
> >                         </goals>
> >                         <configuration>
> >                             <relocations>
> >                                 <relocation>
> >                                     <pattern>com.google.common</pattern>
> >
> > <shadedPattern>shaded.com.google.common</shadedPattern>
> >                                 </relocation>
> >                             </relocations>
> >                             <transformers>
> >                                 <transformer
> > implementation="org.apache.maven.plugins.shade.resource.
> > ManifestResourceTransformer"
> > />
> >                             </transformers>
> >                         </configuration>
> >                     </execution>
> >                 </executions>
> >             </plugin>
> >         </plugins>
> >     </build>
> >
> >     <repositories>
> >         <repository>
> >             <id>cloudera</id>
> >             <url>https://repository.cloudera.com/artifactory/
> > cloudera-repos/
> > </url>
> >         </repository>
> >     </repositories>
> > </project>
> >
> > I excluded hbase and hadoop dependency from my project and added
> > shadedcdh as dependency. But this is still giving me the same
> > exception. The dependency tree I have posted in the stackoverflow. I
> > could not post here because of size limitation. Can someone let me
> > know how can I avoid the conflict?
> >
>

Reply via email to