Error = Caused by: java.lang.NoSuchMethodError: com.google.common.io.ByteStreams.exhaust(Ljava/io/InputStream;)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Error = Caused by: java.lang.NoSuchMethodError: com.google.common.io.ByteStreams.exhaust(Ljava/io/InputStream;)

Ricky Thomas
Trying to connect our application from Tomcat to Big Query. Same war file
works fine in Jetty.
Tomcat version 9
Grails version 4
BQ driver SimbaJDBCDriverforGoogleBigQuery42_1.2.13.1016

Above error usually caused by older version of com.google.guava:guava lib,
so to make sure we have latest/higher we also added entry in build.gradle
compile "com.google.guava:guava:30.1-jre"

 On local env (IntelliJ) application works fine and BQ jdbc makes
connection without any issue. When we deploy war file on server we start
getting above error on Big Query database connection.

Any ideas?

--




Avora Ltd is a company registered in England and Wales. Registered
number: 08922902. Registered office: Avora, 38 Chancery Lane, London WC2A
1EN.








Reply | Threaded
Open this post in threaded view
|

Re: Error = Caused by: java.lang.NoSuchMethodError: com.google.common.io.ByteStreams.exhaust(Ljava/io/InputStream;)

Christopher Schultz-2
Ricky,

On 2/19/21 07:55, Ricky Thomas wrote:

> Trying to connect our application from Tomcat to Big Query. Same war file
> works fine in Jetty.
> Tomcat version 9
> Grails version 4
> BQ driver SimbaJDBCDriverforGoogleBigQuery42_1.2.13.1016
>
> Above error usually caused by older version of com.google.guava:guava lib,
> so to make sure we have latest/higher we also added entry in build.gradle
> compile "com.google.guava:guava:30.1-jre"
>
>   On local env (IntelliJ) application works fine and BQ jdbc makes
> connection without any issue. When we deploy war file on server we start
> getting above error on Big Query database connection.
>
> Any ideas?

Check for duplicate JAR files in Tomcat's lib/ versus
webapps/yourapp/WEB-INF/lib directories.

Failing that, search your application's JAR files to find out if you
have multiple copies of that class hidden somewhere.

With build tools which handle dependencies, it's easy to accidentally
include the same thing twice, especially if the packaging of one or more
dependencies isn't right.

This can also happen with "fat JARs" where one project distributes a
library which includes all of its own dependencies without shading them.
Oops.

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Error = Caused by: java.lang.NoSuchMethodError: com.google.common.io.ByteStreams.exhaust(Ljava/io/InputStream;)

Ricky Thomas
Thanks.
I already did that so there is no guava or any other google in tomcat’s lib
which would collide.

also as we checked WEB-INF lib there were no dupes.

we enforced right version of guava, also excluded old dependencies

On Fri, 19 Feb 2021, 13:00 Christopher Schultz, <
[hidden email]> wrote:

> Ricky,
>
> On 2/19/21 07:55, Ricky Thomas wrote:
> > Trying to connect our application from Tomcat to Big Query. Same war file
> > works fine in Jetty.
> > Tomcat version 9
> > Grails version 4
> > BQ driver SimbaJDBCDriverforGoogleBigQuery42_1.2.13.1016
> >
> > Above error usually caused by older version of com.google.guava:guava
> lib,
> > so to make sure we have latest/higher we also added entry in build.gradle
> > compile "com.google.guava:guava:30.1-jre"
> >
> >   On local env (IntelliJ) application works fine and BQ jdbc makes
> > connection without any issue. When we deploy war file on server we start
> > getting above error on Big Query database connection.
> >
> > Any ideas?
>
> Check for duplicate JAR files in Tomcat's lib/ versus
> webapps/yourapp/WEB-INF/lib directories.
>
> Failing that, search your application's JAR files to find out if you
> have multiple copies of that class hidden somewhere.
>
> With build tools which handle dependencies, it's easy to accidentally
> include the same thing twice, especially if the packaging of one or more
> dependencies isn't right.
>
> This can also happen with "fat JARs" where one project distributes a
> library which includes all of its own dependencies without shading them.
> Oops.
>
> -chris
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

--




Avora Ltd is a company registered in England and Wales. Registered
number: 08922902. Registered office: Avora, 38 Chancery Lane, London WC2A
1EN.








Reply | Threaded
Open this post in threaded view
|

Re: Error = Caused by: java.lang.NoSuchMethodError: com.google.common.io.ByteStreams.exhaust(Ljava/io/InputStream;)

Rob Sargent
Can you remove IntelliJ from local env?  Much magic in there.

> On Feb 19, 2021, at 6:14 AM, Ricky Thomas <[hidden email]> wrote:
>
> Thanks.
> I already did that so there is no guava or any other google in tomcat’s lib
> which would collide.
>
> also as we checked WEB-INF lib there were no dupes.
>
> we enforced right version of guava, also excluded old dependencies
>
>> On Fri, 19 Feb 2021, 13:00 Christopher Schultz, <
>> [hidden email]> wrote:
>>
>> Ricky,
>>
>>> On 2/19/21 07:55, Ricky Thomas wrote:
>>> Trying to connect our application from Tomcat to Big Query. Same war file
>>> works fine in Jetty.
>>> Tomcat version 9
>>> Grails version 4
>>> BQ driver SimbaJDBCDriverforGoogleBigQuery42_1.2.13.1016
>>>
>>> Above error usually caused by older version of com.google.guava:guava
>> lib,
>>> so to make sure we have latest/higher we also added entry in build.gradle
>>> compile "com.google.guava:guava:30.1-jre"
>>>
>>>  On local env (IntelliJ) application works fine and BQ jdbc makes
>>> connection without any issue. When we deploy war file on server we start
>>> getting above error on Big Query database connection.
>>>
>>> Any ideas?
>>
>> Check for duplicate JAR files in Tomcat's lib/ versus
>> webapps/yourapp/WEB-INF/lib directories.
>>
>> Failing that, search your application's JAR files to find out if you
>> have multiple copies of that class hidden somewhere.
>>
>> With build tools which handle dependencies, it's easy to accidentally
>> include the same thing twice, especially if the packaging of one or more
>> dependencies isn't right.
>>
>> This can also happen with "fat JARs" where one project distributes a
>> library which includes all of its own dependencies without shading them.
>> Oops.
>>
>> -chris
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>
>
> --
>
>
>
>
> Avora Ltd is a company registered in England and Wales. Registered
> number: 08922902. Registered office: Avora, 38 Chancery Lane, London WC2A
> 1EN.
>
>
>
>
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]