Joseph Barefoot created DRILL-3589:
--------------------------------------

             Summary: 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