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

在Gradle(6.2)中,我们可以将自定义任务的构造函数参数注释为“输入”吗?

翁凯定
2023-03-14
open class CustomTask @Inject constructor(
    private val inputFile: File,
    private val outputFile: File
    ) : DefaultTask()

到目前为止,在gradle中,定义输入或输出的常见方式是使用诸如InputFile之类的注释。

从Kotlin的角度来看,在构造函数中注入所有这些输入/输出值会很好,但我想知道,这可能吗?类似于:

open class CustomTask @Inject constructor(
private @InputFile val inputFile: File,
private @OutputFile val outputFile: File

):DefaultTask()

共有1个答案

岳泳
2023-03-14

这两个注释的javadocs状态(重点是我的):

@inputfile

这个注释应该附加到Java中的getter方法或Groovy中的属性。忽略setter上的注释或Java中的字段。

@outputfile

这个注释应该附加到Java中的getter方法或Groovy中的属性。忽略setter上的注释或Java中的字段。

回答你的问题:不。

 类似资料:
  • 如何让Jackson将“name”视为具有@JsonProperty注释? 现在,我得到了一个错误,无法识别的字段“sum”,因为它将每个getter都视为可序列化属性。 如果我添加类注释: 序列化时,我得到一个空字符串。我希望Jackson能在构造函数参数上看到@JsonProperty并解决它。 如果我将类注释更改为: 然后我得到了“doNotSerialize”字段。 如果我在构造函数上设置

  • 我试图构建一个包含getter和setter的构造函数,除了在参数中调用它之外,这些构造函数似乎对我的所有属性都很好。 当我读到这行代码时: 然后在控制台中出现以下错误: 构造函数flip(String)未定义构造函数flip(String)未定义 也许我错过了什么?

  • 问题内容: 我是Angular开发的初学者。我不知道为什么我们在控制器内部注入两次参数: 看看 您能解释一下我们为什么这样做吗? 问题答案: 原因是为了保护代码免受javascript压缩的影响。 将可确保变量名可以字符串的形式保存下来。 因此,理想情况下,您的应用程序代码应如下所示: 在压缩期间,javascript用自定义名称替换了变量名,因此可能被替换,因此将导致错误。 但是将使angula

  • 我在Maven的Spring启动项目中使用Lombok。我的IDE是vscode 我尝试使用Lombok注释器创建这样的类: 它工作正常。但是,当我尝试切换到注释时,我遇到了一个错误: 我以为@Data注释应该为我构建构造函数。这是怎么回事?

  • 有人能帮助实现没有注释的Guice吗? pom。xml 我所尝试的: 我得到的错误是: 我理解这个错误。 但是我希望我可以“指向”Guice到正确的构造函数......而不是使用注释。 如您所见,使用默认/空构造函数不是一个好选择,因为这个示例很简单,但我想坚持使用基于构造函数的注入。 附加: 根据我在评论中从赫曼特·辛格那里得到的“暗示”,我想我离得更近了。 我创建了一个ProductionIn

  • 问题内容: 我已经用策略模式实现了一个程序。所以我有一个在某些地方使用的接口,并且可以替换具体的实现。 现在我要测试该程序。我想以类似的方式做。编写一次测试,针对该接口进行测试。应在测试开始时注入具体的接口实现,以便我可以轻松地替换它。 我的测试类看起来与此类似: 在开始测试时,必须使用参数化的构造器来注入具体的策略实施。 现在我没有让TestNG运行它并注入具体的实现实例。我试图与继承几种方法,