# Problem with 7.9 jar dependency

**URL:** <https://forum.inductiveautomation.com/t/problem-with-7-9-jar-dependency/32563>\
**Category:** Module Development\
**Created:** [February 24, 2020, 10:43pm UTC](https://forum.inductiveautomation.com/t/problem-with-7-9-jar-dependency/32563 "2020-02-24T22:43:27Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![lei.yng](https://avatars.discourse-cdn.com/v4/letter/l/db5fbb/32.png) [@lei.yng](https://forum.inductiveautomation.com/u/lei.yng)\
**Post date:** [February 24, 2020, 10:43pm UTC](https://forum.inductiveautomation.com/t/problem-with-7-9-jar-dependency/32563/1 "2020-02-24T22:43:27Z")

</div>

We are developing a module which requires minimum version 20 of com.google.guava. Despite the module has v26 jar, it keeps getting a “NoSuchMethodError” on 7.9 gateway:

java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;CLjava/lang/Object;)V  
at io.grpc.Metadata$Key.validateName(Metadata.java:742)  
at io.grpc.Metadata$Key.(Metadata.java:750)  
at io.grpc.Metadata$Key.(Metadata.java:668)  
at io.grpc.Metadata$AsciiKey.(Metadata.java:959)  
at io.grpc.Metadata$AsciiKey.(Metadata.java:954)

Here are all the guava jar on my test server:

- /usr/local/ignition/lib/core/common/guava-18.0.jar
- /usr/local/ignition/data/jar-cache/xopc/\_\_1724772503\_\_guava-19.0.jar
- /usr/local/ignition/data/jar-cache/logix-v21/\_\_531933567\_\_guava-18.0.jar
- /usr/local/ignition/data/jar-cache/dnp3-driver/\_\_3840122197\_\_guava-18.0.jar
- /usr/local/ignition/data/jar-cache/my\_own\_module/\_\_2355914147\_\_guava-26.0-jre.jar
- /usr/local/ignition/data/jar-cache/omron-driver/\_\_3441177098\_\_guava-18.0.jar

After I deploy the module (built by same SDK version, only change Ignition version), the error is gone, and here are the guava jar of Ignition 8:

- /usr/local/ignition8/lib/core/common/guava-23.3-jre.jar
- /usr/local/ignition8/data/jar-cache/com.inductiveautomation.opcua/\_\_1111845471\_\_guava-26.0-jre.jar
- /usr/local/ignition8/data/jar-cache/com.inductiveautomation.opcua.drivers.dnp3/\_\_1109255087\_\_guava-18.0.jar
- /usr/local/ignition8/data/jar-cache/my\_own\_module/\_\_200494045\_\_guava-26.0-jre.jar
- /usr/local/ignition8/data/jar-cache/com.inductiveautomation.opcua.drivers.omron/\_\_4248771045\_\_guava-23.3-jre.jar

Is there any way we can fix this on Ignition 7? Thanks!

I did try replacing jar and restart but it didn’t help.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [February 24, 2020, 10:48pm UTC](https://forum.inductiveautomation.com/t/problem-with-7-9-jar-dependency/32563/2 "2020-02-24T22:48:11Z")

</div>

The only way to fix this would be to “shade” the dependency to relocate all the guava v26 classes into a new package that your module would then use instead. But it looks like what’s breaking is GRPC, so you would have to recompile that to use the shaded guava package… probably not a path to go down.

The guava v18 JAR that is part of Ignition 7.9 sits higher on the classpath than anything you try to include in your module. You can’t really do anything about it.

---

<div class="post-metadata">

**Author:** ![lei.yng](https://avatars.discourse-cdn.com/v4/letter/l/db5fbb/32.png) [@lei.yng](https://forum.inductiveautomation.com/u/lei.yng)\
**Post date:** [February 24, 2020, 10:59pm UTC](https://forum.inductiveautomation.com/t/problem-with-7-9-jar-dependency/32563/3 "2020-02-24T22:59:56Z")

</div>

Thanks a lot Kevin, at least we are not beating the dead horse anymore.
