我正在使用gradle
构建一个Java命令行应用程序,并在使用gradlew run
时运行该应用程序,但是我希望生成一个jar --我假设用户下载该jar以调用CLI。
然而,当我运行gradlew jar
时,什么也没有产生(build/lib dir甚至不存在),即使构建运行时没有错误,并以BUILD_SUCCESSFUL
结束。
两个问题:
1.为什么不生产jar?
1.让用户下载jar是为Java提供CLI的最佳方式吗?
下面是我的完整build.gradle.kts
plugins {
// Apply the application plugin to add support for building a CLI application in Java.
application
id("com.diffplug.spotless") version "6.12.0"
}
repositories {
// Use Maven Central for resolving dependencies.
mavenCentral()
}
dependencies {
// Use JUnit test framework.
testImplementation("junit:junit:4.13.2")
// This dependency is used by the application.
implementation("com.google.guava:guava:30.1-jre")
implementation("info.picocli:picocli:4.7.0")
annotationProcessor("info.picocli:picocli-codegen:4.7.0")
implementation("io.vavr:vavr:0.10.4")
}
application {
// Define the main class for the application.
mainClass.set("testlauncher.command.Runner")
}
subprojects {
apply {
plugin("com.diffplug.spotless")
}
}
spotless {
java {
importOrder()
removeUnusedImports()
googleJavaFormat()
}
}
project.tasks.findByName("build")?.dependsOn(project.tasks.findByName("spotlessApply"))
1条答案
按热度按时间n9vozmp41#
我是哑巴。
我以为这个jar会在
./build/libs
中,但它实际上是在./app/build/libs
中。