Skip to content

No longer possible to use JDBC driver as single jar #19

@vyazelenko

Description

@vyazelenko

Previously a MS SQL Server JDBC driver was just a single jar. Now the version published to Maven Central brings tons of external dependencies.

Here is my sample Gradle build:

apply plugin: 'java'

repositories {
    jcenter()
}

dependencies {
    compileOnly 'com.microsoft.sqlserver:mssql-jdbc:6.1.0.jre8'
}

And if I run gradle dependencies I get the following picture:

compileClasspath - Compile classpath for source set 'main'.
\--- com.microsoft.sqlserver:mssql-jdbc:6.1.0.jre8
     \--- com.microsoft.azure:azure-keyvault:0.9.3
          +--- com.microsoft.azure:azure-core:0.9.3
          |    +--- org.apache.httpcomponents:httpclient:4.3.6
          |    |    +--- org.apache.httpcomponents:httpcore:4.3.3
          |    |    +--- commons-logging:commons-logging:1.1.3
          |    |    \--- commons-codec:commons-codec:1.6 -> 1.10
          |    +--- commons-codec:commons-codec:1.10
          |    +--- commons-lang:commons-lang:2.6
          |    +--- javax.mail:mail:1.4.5 -> 1.4.7
          |    |    \--- javax.activation:activation:1.1
          |    +--- javax.inject:javax.inject:1
          |    +--- com.sun.jersey:jersey-client:1.13
          |    |    \--- com.sun.jersey:jersey-core:1.13
          |    \--- com.sun.jersey:jersey-json:1.13
          |         +--- org.codehaus.jettison:jettison:1.1
          |         |    \--- stax:stax-api:1.0.1
          |         +--- com.sun.xml.bind:jaxb-impl:2.2.3-1
          |         |    \--- javax.xml.bind:jaxb-api:2.2.2
          |         |         +--- javax.xml.stream:stax-api:1.0-2
          |         |         \--- javax.activation:activation:1.1
          |         +--- org.codehaus.jackson:jackson-core-asl:1.9.2
          |         +--- org.codehaus.jackson:jackson-mapper-asl:1.9.2
          |         |    \--- org.codehaus.jackson:jackson-core-asl:1.9.2
          |         +--- org.codehaus.jackson:jackson-jaxrs:1.9.2
          |         |    +--- org.codehaus.jackson:jackson-core-asl:1.9.2
          |         |    \--- org.codehaus.jackson:jackson-mapper-asl:1.9.2 (*)
          |         +--- org.codehaus.jackson:jackson-xc:1.9.2
          |         |    +--- org.codehaus.jackson:jackson-core-asl:1.9.2
          |         |    \--- org.codehaus.jackson:jackson-mapper-asl:1.9.2 (*)
          |         \--- com.sun.jersey:jersey-core:1.13
          +--- org.apache.httpcomponents:httpclient:4.3.6 (*)
          +--- javax.inject:javax.inject:1
          \--- com.microsoft.azure:adal4j:1.0.0
               +--- com.nimbusds:oauth2-oidc-sdk:4.5
               |    +--- javax.mail:mail:1.4.7 (*)
               |    +--- net.jcip:jcip-annotations:1.0
               |    +--- org.apache.commons:commons-lang3:3.3.1
               |    +--- commons-codec:commons-codec:1.9 -> 1.10
               |    +--- net.minidev:json-smart:1.1.1
               |    +--- com.nimbusds:lang-tag:1.4
               |    |    \--- net.minidev:json-smart:1.1.1
               |    \--- com.nimbusds:nimbus-jose-jwt:3.1.2
               |         +--- net.jcip:jcip-annotations:1.0
               |         +--- net.minidev:json-smart:1.1.1
               |         \--- org.bouncycastle:bcprov-jdk15on:1.51
               +--- com.google.code.gson:gson:2.2.4
               +--- org.slf4j:slf4j-api:1.7.5
               \--- commons-codec:commons-codec:[1.10,) -> 1.10

Basically all of the external dependencies are due to com.microsoft.azure:azure-keyvault:0.9.3. Why is this dependency required? Can't it be made optional?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions