Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Gradle:JDBC驱动程序未编译到JAR中_Java_Jdbc_Gradle - Fatal编程技术网

Java Gradle:JDBC驱动程序未编译到JAR中

Java Gradle:JDBC驱动程序未编译到JAR中,java,jdbc,gradle,Java,Jdbc,Gradle,我有一个模块build.gradle文件,如下所示: apply plugin: 'java' sourceCompatibility = 1.5 version = '1.0' repositories { mavenCentral() } dependencies { testCompile group: 'junit', name: 'junit', version: '4.11' compile 'mysql:mysql-connector-java:5.1

我有一个模块
build.gradle
文件,如下所示:

apply plugin: 'java'

sourceCompatibility = 1.5
version = '1.0'

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    compile 'mysql:mysql-connector-java:5.1.6'
}
我还有一件像这样的艺术品:

apply plugin: 'java'

sourceCompatibility = 1.5
version = '1.0'

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    compile 'mysql:mysql-connector-java:5.1.6'
}

当我构建这个工件时,我的类包括在内,但MySQL驱动程序不包括在内。执行时,找不到MySQL驱动程序类。如何构建我的JAR工件(用作库)
ccontains MySQL JDBC驱动程序?

在Gradle和IntelliJ中配置此驱动程序是两件不同的事情。在Gradle中创建胖罐子最直接的方法是:

jar {
    from { configurations.runtime.collect { it.directory ? it : zipTree(it) } }
}

PS:合并JAR可能会导致问题。在大多数情况下都不应该这样做,尤其是对于库。

您是如何运行应用程序的?您需要将MySQL驱动程序放在类路径中。将这一行添加到您的依赖项:运行时“mysql:mysql连接器java:5.1.6”Peter,您是专家。把它们放在不同的罐子里怎么样。我的建议行得通吗?它肯定应该是运行时,但这不会改变任何基本的东西。即使使用
compile
,驱动程序也将位于运行时类路径上。