Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
The "Class path contains multiple SLF4J bindings" is as follows:
sqlline version 1.9.0 sqlline> !connect jdbc:hsqldb:res:scott SCOTT TIGER SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/Users/julianhyde/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/Users/julianhyde/.m2/repository/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 0: jdbc:hsqldb:res:scott>
Calcite's sqlline script generates target/fullclasspath.txt with both of the above jar files on it. The solution is to remove one of them. I propose to remove slf4j-log4j12 from the generated classpath.
This change fixes the problem on Windows also, even though Windows uses a different technique (copying dependencies to each module's target/dependencies directory).
Attachments
Issue Links
- is related to
-
CALCITE-4506 Upgrade SQLLine to 1.11.0
- Closed
- relates to
-
CALCITE-3098 Upgrade SQLLine to 1.8.0
- Closed