[ https://issues.apache.org/jira/browse/KYLIN-1846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dayue Gao updated KYLIN-1846: ----------------------------- Attachment: KYLIN-1846.patch upload patch, which was tested and solved several classloading problems encountered in our environment. > minimize dependencies of JDBC driver > ------------------------------------ > > Key: KYLIN-1846 > URL: https://issues.apache.org/jira/browse/KYLIN-1846 > Project: Kylin > Issue Type: Improvement > Components: Driver - JDBC > Affects Versions: v1.5.2 > Reporter: Dayue Gao > Assignee: Dayue Gao > Attachments: KYLIN-1846.patch > > > kylin-jdbc packages many dependencies (calcite-core, guava, jackson, etc) > into an uber jar, which could cause problems when user tries to integrate > kylin-jdbc into their own application. > I suggest making the following changes to packaging: > # remove calcite-core dependency > calcite-avatica is sufficient as far as I know. > # remove guava dependency > The only place kylin-jdbc uses guava is {{ImmutableList.of(metaResultSet)}} > in KylinMeta.java, which can be simply replaced with > {{Collections.singletonList(metaResultSet)}}. > # remove log4j, slf4j-log4j12 dependencies > As a library, kylin-jdbc [should only depend on > slf4j-api|http://slf4j.org/manual.html#libraries]. Which underlying logging > framework to use should be a deployment-time choice made by user. This means > we should revert https://issues.apache.org/jira/browse/KYLIN-1160 > # relocate all dependencies to "org.apache.kylin.jdbc.shaded" using > maven-shade-plugin > This includes calcite-avatica, jackson, commons-httpclient and commons-codec. > Relocating should help to avoid class version conflicts. > I'll submit a patch for this, discussions are welcome~ -- This message was sent by Atlassian JIRA (v6.3.4#6332)