如何创建可执行 java gradle 项目?

how to create executable java gradle project?

这是我的 build.gradle

这就是我尝试 运行 构建的 jar 时发生的情况。

 plugins {
    id 'java'
}


group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
    implementation "net.dv8tion:JDA:5.0.0-alpha.6"
    implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '4.1.2'
    implementation"io.github.bonigarcia:webdrivermanager:5.1.0"

}

test {
    useJUnitPlatform()
}
jar {
    manifest {
        attributes 'Main-Class': 'bullshitPackage.main'
    }

    exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA'
}

您可以使用 shadowjar 插件将所有依赖项包含在您的 jar 中。

要在您的 build.gradle 文件中使用它,请尝试:

buildscript {
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath "gradle.plugin.com.github.jengelman.gradle.plugins:shadow:7.0.0"
    }
} 
 
plugins {
    id 'java'
    id 'com.github.johnrengelman.shadow' version '7.0.0'
}



group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
    implementation "net.dv8tion:JDA:5.0.0-alpha.6"
    implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '4.1.2'
    implementation"io.github.bonigarcia:webdrivermanager:5.1.0"

}

test {
    useJUnitPlatform()
}
jar {
    manifest {
        attributes 'Main-Class': 'bullshitPackage.main'
    }

    exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA'
}

然后从控制台导航到包含文件 gradlew 的项目根文件夹,然后 运行 gradlew shadowjar 将 jar 构建到 ./build/libs 文件夹中。