如何创建可执行 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
文件夹中。
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
文件夹中。