You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Shaofeng SHI (JIRA)" <ji...@apache.org> on 2018/08/07 15:07:00 UTC

[jira] [Resolved] (KYLIN-3481) Kylin Jdbc: Shaded dependencies should not be transitive

     [ https://issues.apache.org/jira/browse/KYLIN-3481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shaofeng SHI resolved KYLIN-3481.
---------------------------------
    Resolution: Fixed

> Kylin Jdbc: Shaded dependencies should not be transitive
> --------------------------------------------------------
>
>                 Key: KYLIN-3481
>                 URL: https://issues.apache.org/jira/browse/KYLIN-3481
>             Project: Kylin
>          Issue Type: Improvement
>          Components: Driver - JDBC
>    Affects Versions: v2.4.0
>            Reporter: Ian Hu
>            Assignee: Ian Hu
>            Priority: Minor
>             Fix For: v2.5.0
>
>
> kylin-jdbc use dependencies as shaded, so they should not be transitive.
> As far as I known, SHADE a dependency to avoid dependency conflict, but at v2.4.0, the dependencies in kylin-jdbc are default compile scope and are transitive resolved, that may cause some dependency conflicts.
> We should mark shaded dependencies as optional
>  
> There are two solutions about the fixation:
>  # mark dependency as `optional`
>  # or change the dependency scope to provided, and add shade artifactSets with include
> {code:java}
> <dependency>
>     <groupId>org.apache.httpcomponents</groupId>
>     <artifactId>httpclient</artifactId>
>     <optional>true</optional> // add this
> </dependency>
> // ============= or =============
> <dependency>
>     <groupId>org.apache.httpcomponents</groupId>
>     <artifactId>httpclient</artifactId>
>     <scope>provided</scope>
> </dependency>
> // and
> <artifactSet>
>     <excludes>
>         <exclude>org.slf4j:jcl-over-slf4j:*</exclude>
>     </excludes>
>     <includes>
>         <include>org.apache.httpcomponents:httpclient:*</include> // force include provided scope
>         <include>org.apache.calcite.avatica:avatica-core:*</include> // force include provided scope 
>     </includes>
> </artifactSet>{code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)