当前位置: 首页 > 知识库问答 >
问题:

如何在Gradle 4.10.3中用Kotlin Gradle DSL从sourceSets中获取' allJava '?

伯鸿达
2023-03-14

我试图遵循Gradle 4.10.2文档中的Maven发布指南,但是有些困难,因为都是Groovy版本。下面是该示例要求做的事情:

task sourcesJar(type: Jar) {
    from sourceSets.main.allJava
    classifier = 'sources'
}

task javadocJar(type: Jar) {
    from javadoc
    classifier = 'javadoc'
}

这就是我想做的:

tasks.register<Jar>("sourcesJar") {
    from(project(":core").sourceSets.allJava)
    classifier = "sources"
}

tasks.register<Jar>("javadocJar") {
    from(tasks["javadoc"])
    classifier = "javadoc"
}

不幸的是,allJava返回时找不到。在 Kotlin Gradle DSL For Gradle Version 4.10.3 中执行此操作的正确方法是什么?

共有1个答案

都乐逸
2023-03-14

Kotlin DSL 1.1.3的正确< code>build.gradle.kts语法应该是:

plugins {
    `java-library`
    `maven-publish`
}

tasks.register<Jar>("sourcesJar") {
    from(sourceSets.main.get().allJava)
    archiveClassifier.set("sources")
}

tasks.register<Jar>("javadocJar") {
    from(tasks.javadoc)
    archiveClassifier.set("javadoc")
}

顺便说一下,< code>classifier属性被标记为< code>@Deprecated -您应该改用< code>archiveClassifier。

[更新]

然而,Gradle 4.10.3在DSL 1.0-rc-6中有Kotlin,因此<code>构建了.Gradle。kts应类似于:

plugins {
    `java-library`
    `maven-publish`
}

tasks.register<Jar>("sourcesJar") {
    from(sourceSets["main"].allJava)
    classifier = "sources"
}

tasks.register<Jar>("javadocJar") {
    from(tasks["javadoc"])
    classifier = "javadoc"
}
 类似资料:
  • 我在许多地方看到了关于如何使用代码获取表头的示例 像这里:如何防止TableView从做TableColsta重新排序在javaFX 8? 但是这个代码为我返回。 如何到达然后?

  • 我想制作一个简单的共享按钮来获取TextView值并共享它,但我不知道怎么做。 代码如下: 而相关的布局是: 我在这里看了文档和一些类似的问题,但找不到我的答案。感谢你对此的帮助。

  • 我有一个接受Mono作为参数的方法。我只想从中得到实际的字符串。Googled但是除了调用Mono对象上的block(),没有找到答案,但是它会进行阻塞调用,所以要避免使用block()。如果可能的话,请建议其他方法。我之所以需要这个字符串,是因为在这个方法中,我需要用实际的字符串值调用另一个方法,比如print()。我明白这很容易,但我是反应性编程的新手。 代码:

  • 我需要从用户给出的输入日期打印日历。然而,我不允许使用任何预定的日期类。 目前,我可以打印月份和年份,但是,我似乎不知道如何打印特定月份和年份的日期。我对Java非常陌生,因此非常感谢您的帮助! 以下是所需输出的示例: 以下是我到目前为止的输出: 以下是我迄今为止所尝试的:

  • 问题内容: 我在许多地方看到了有关如何通过代码获取表头的示例 但是这段代码为我返回。 怎么到达呢? 问题答案: 的创建者为,而默认值只有在应用CSS后才会创建。 您可以在将添加到后将其调用,然后在此调用之后访问。 或者,侦听中的更改并在设置外观后执行该代码。 此外,我建议使用而不是使用来检索标题行(无论如何,您都在使用包)。