Intellij Idea:Gradle不将依赖项包含在jar的类路径中

时间:2020-01-27 19:23:39

标签: java gradle intellij-idea

这是build.gradle:

plugins {
    id 'java'
}

group 'com.vladdrummer'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
    flatDir {
        dirs 'src/main/libs'
    }
}
sourceSets {
    main.java.srcDirs += 'src/main/java/'
}

jar {
    manifest {
        attributes 'Main-Class': 'PrayerBackend'
    }
}

dependencies {
    implementation name: 'mysql-connector-java-8.0.11'
    implementation "com.sparkjava:spark-core:2.8.0"
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation group: 'mysql', name: 'mysql-connector-java', version: '5.1.21'
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

现在,当我从Intellij Idea启动它时,它工作正常,但是当我在Gradle菜单中单击“ build”并运行java -jar backend.jar时-我遇到了错误:

Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: spark/Request
        at Server.<init>(Server.java:34)
        at PrayerBackend.main(PrayerBackend.java:3)
Caused by: java.lang.NoClassDefFoundError: spark/Request
        ... 2 more
Caused by: java.lang.ClassNotFoundException: spark.Request
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

我看到它没有在类路径中包含Spark,但是对我来说gradle文件就可以了。问题出在哪里?

0 个答案:

没有答案