I am trying to use lettuce version 4.4 as a Redis client library in a play framework 2.5.5 project. Looks like there are some compatibility issues with the netty versions used by play 2.5.5 and lettuce 4.4.
I am seeing a java.nio.channels.UnresolvedAddressException
while redis client is attempting to connect to a locally installed redis server. I've ensured that the redis server is running fine. Also, I am able to connect to redis using lettuce 4.4 from an independent maven based java project.
To troubleshoot the issue, I have reproduced the problem in the independent maven project by specifying netty dependency explicitly as follows:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.0.20.Final</version>
</dependency>
And I am able to resolve the issue in the maven project by using the shaded-jar where dependencies are relocated to com.lambdaworks
package to avoid version conflicts, as mentioned in https://github.com/lettuce-io/lettuce-core#binariesdownload. To use the shaded jar, 'classifier' property is added to the lettuce dependency definition with value 'shaded', and also a list of exclusions are specified. How do I achieve the same using build.sbt?
As per http://www.scala-sbt.org/0.13/docs/Library-Management.html#Exclude+Transitive+Dependencies, I can specify exclusions in build.sbt, but not sure how to set classifier property. With just the list of exclusions, it does not seem to work.