![](/img/trans.png)
[英]How to publish a shadow jar with an empty pom using gradle maven-publish plugin and Kotlin DSL?
[英]Building a jar with sources included with Gradle using the Kotlin DSL?
我有一個小的 Kotlin 庫,我正在使用 Gradle Kotlin DSL 構建它,所以我的build.gradle.kts
plugins {
id("org.jetbrains.kotlin.jvm") version "1.5.31"
`java-library`
}
group = "foo.bar.api"
version = "1.0"
repositories {
mavenCentral()
}
dependencies {
implementation(platform("org.jetbrains.kotlin:kotlin-bom"))
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
testImplementation("org.jetbrains.kotlin:kotlin-test")
testImplementation("org.jetbrains.kotlin:kotlin-test-junit")
}
我希望能夠構建一個包含已編譯代碼和源代碼的 jar。 我知道我可以通過以下方式獲得單獨的來源 JAR:
java {
withSourcesJar()
}
但是我還沒有找到正確的方法來構建一個 JAR,它在單個工件中包含源代碼和編譯代碼。
您可能應該調整jar
任務,而不是 Java 插件擴展(頂級java
子句)。 嘗試這個:
tasks {
withType<Jar> {
from(sourceSets["main"].allSource)
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
}
我在我的項目中快速對其進行了測試,它似乎可以工作,但由於一些怪癖,我需要該duplicatesStrategy
。 如果沒有它,它可能對你有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.