将SQLServer依赖项添加到Gradle后,jar无法找到Main类

时间:2017-09-27 04:32:41

标签: java sql-server intellij-idea gradle gradlew

我有一个Gradle项目,其中包含一些第三方依赖项。

我的jar一直工作正常,直到我添加SQLServer依赖。

以下是build.gradle的快照:

group 'MyApp'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'idea'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile 'com.amazonaws:aws-java-sdk:1.11.60'
    compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.6'
    compile files('mylibraries/ojdbc7.jar')
    compile files('mylibraries/postgresql-42.1.4.jar')
    compile files('mylibraries/mssql-jdbc-6.2.1.jre8.jar')
}

jar {
    from {
        configurations.compile.collect {
            it.isDirectory() ? it : zipTree(it)
        }

    }
    manifest {
        attributes 'Main-Class': 'MainLauncher'
    }
}

compile files('mylibraries/mssql-jdbc-6.2.1.jre8.jar')添加到依赖项后,所有内容都会崩溃。我得到的错误:

  

错误:无法找到或加载主类MainLauncher

可能是一个潜在的问题?谢谢!

2 个答案:

答案 0 :(得分:1)

今天我遇到了完全相同的问题,我到达了此页面以获得解决方案

我正在运行具有以下依赖性的jar

group: 'com.microsoft.sqlserver', name: 'mssql-jdbc', version: '6.2.2.jre8'

我正面临着同样的问题,

  

错误:无法找到或加载主类

后来我改变了对旧版本的依赖性,并且在此更改后运行良好

  

group:'com.microsoft.sqlserver',name:'mssql-jdbc',version:   '6.2.1.jre7'

答案 1 :(得分:0)

我前段时间遇到了同样的问题。我刚刚导入了这个项目,并希望做一个gradle clean build。我有完全相同的错误。

我可以通过确保至少进行一次迁移来解决这个问题。这可能听起来很愚蠢但只是尝试为您的数据库创建1个迁移。

至少它解决了我的问题,我当然希望它能解决你的问题!