[ 
https://issues.apache.org/jira/browse/DRILL-3589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14649874#comment-14649874
 ] 

Jason Altekruse edited comment on DRILL-3589 at 7/31/15 9:41 PM:
-----------------------------------------------------------------

The reason for a lot of these unnecessary dependencies is a project structure 
issue that we still need to resolve. We do not have a clear separation of the 
components of Drill that are shared between the client and server. Ideally 
these should be part of a small module shared between the two components, but 
today such a separation does not exist. I am sure we have a bug filed for this, 
but I cannot find it right now. While the process we use to generate the 
jdbc-all jar should automatically remove a lot of these unnecessary 
dependencies, it would be best solved with a more conscious effort to organize 
the code into these separate components.


was (Author: jaltekruse):
The reason for a lot of these unnecessary dependencies is a project structure 
issue that we still need to resolve. We do not have a clear separation of the 
components of Drill that are shared between the client and server. Ideally 
these should be part of a small module shared between the two components, but 
today such a separation does not exist. I am sure we have a bug filed for this, 
but I cannot find it right now. While the process we use to generate the 
jdbc-all jar should automatically remove a lot of these unnecessary 
dependencies, but it would be best solved with a more conscious effort to 
organize the code into these separate components.

> JDBC driver maven artifact includes a lot of unnecessary dependencies
> ---------------------------------------------------------------------
>
>                 Key: DRILL-3589
>                 URL: https://issues.apache.org/jira/browse/DRILL-3589
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Client - JDBC
>            Reporter: Joseph Barefoot
>            Assignee: Daniel Barclay (Drill)
>            Priority: Minor
>
> The Drill JDBC POM file pulls in so many unused transitive dependencies that 
> it takes quite a while to exclude all the unnecessary ones when using it from 
> within a Java project.  This is similar to DRILL-3581 in that you can work 
> around it via exclusions of transitive dependencies, but since it makes 
> interoperability with other open-source projects problematic, this will keep 
> coming up for anyone using the JDBC driver from within any serious java app.
> Considering the pom:
> http://repo1.maven.org/maven2/org/apache/drill/exec/drill-jdbc/1.1.0/drill-jdbc-1.1.0.pom
> ...it seems that most of the unused dependencies are transitive from 
> drill-common and perhaps also drill-java-exec.  Here's an example of some 
> dependencies that the JDBC driver shouldn't need (and we excluded in our 
> project):
> parquet-*
> jetty-server
> javassist
> commons-daemon
> hibernate-validator
> xalan
> xercesImpl
> For the record we are now able to use the JDBC driver fine from within our 
> project, but it did take some dependency tree analysis (and a little 
> trial-and-error) to figure out what to exclude.  We would like to save future 
> developers that time.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to