Java Gradles'jar'是一种方法吗?
我在Gradle中使用Java插件Java Gradles'jar'是一种方法吗?,java,gradle,jar,build,build.gradle,Java,Gradle,Jar,Build,Build.gradle,我在Gradle中使用Java插件 apply plugin: 'java' 我还使用以下方法配置Jar任务: version = '1.0' jar { manifest { attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': version } } 如果我理解正确的话,jar是一个方法,它是以闭包作为参数调用
apply plugin: 'java'
我还使用以下方法配置Jar任务:
version = '1.0'
jar {
manifest {
attributes 'Implementation-Title': 'Gradle Quickstart',
'Implementation-Version': version
}
}
如果我理解正确的话,jar
是一个方法,它是以闭包作为参数调用的。但这种方法在哪里有记录?我的理解是,这应该是一种项目方法
我在和里面都找不到
或者我的假设是错误的,
jar
是一种方法?可能不是您想要的全面答案,但有一些指向正确方向的指针:
jar任务的内部似乎没有详细的文档记录,所以您必须查看源代码才能找到您想要的内容。jar任务来自java插件。这又从中添加了一个任务。除了从扩展之外,这个类没有做很多事情
因此,似乎结束了:
jar {
....
}
调用构造函数并设置jar闭包中定义的属性。进一步的Jar类从Zip.java扩展而来,同时覆盖归档文件的扩展名,并添加manifest属性
--
PS:这仍然不能帮助我理解你的jar
,但是我喜欢你的提问,我在学习过程中学到了一些东西 可能不是您想要的全面答案,但有一些指向正确方向的指针:
jar任务的内部似乎没有详细的文档记录,所以您必须查看源代码才能找到您想要的内容。jar任务来自java插件。这又从中添加了一个任务。除了从扩展之外,这个类没有做很多事情
因此,似乎结束了:
jar {
....
}
调用构造函数并设置jar闭包中定义的属性。进一步的Jar类从Zip.java扩展而来,同时覆盖归档文件的扩展名,并添加manifest属性
--
PS:这仍然不能帮助我理解你的jar,但是我喜欢你的提问,我在学习过程中学到了一些东西 答案是肯定和否定。语法是语法糖(尽管在这种情况下它会让事情变得混乱)。调用的不是函数jar
,而是函数tasks.getByName
,它将名称和闭包作为参数
上面写着第17.3部分。配置任务
(示例17.9.配置任务-关闭
):
这适用于任何任务。示例的第3行只是tasks.getByName()
方法的快捷方式。请务必注意,如果将闭包传递给getByName()
方法,则此闭包将应用于配置任务,而不是在任务执行时应用
所以你也可以写:
version = '1.0'
tasks.getByName "jar", {
manifest {
attributes 'Implementation-Title': 'Gradle Quickstart',
'Implementation-Version': version
}
}
答案是肯定和否定。语法是语法糖(尽管在这种情况下它会让事情变得混乱)。调用的不是函数jar
,而是函数tasks.getByName
,它将名称和闭包作为参数
上面写着第17.3部分。配置任务
(示例17.9.配置任务-关闭
):
这适用于任何任务。示例的第3行只是tasks.getByName()
方法的快捷方式。请务必注意,如果将闭包传递给getByName()
方法,则此闭包将应用于配置任务,而不是在任务执行时应用
所以你也可以写:
version = '1.0'
tasks.getByName "jar", {
manifest {
attributes 'Implementation-Title': 'Gradle Quickstart',
'Implementation-Version': version
}
}
就在那里,我刚刚在你的第一个链接中搜索了“jar”@迪玛:我在那页上找不到,。。。在表中,我只找到链接到类
jar
的任务jar
的描述。但是没有方法jar
的文档(例如显示签名)。还是jar
不是一种方法?然后:在哪里记录了使用闭包调用任务以及它的含义?不是“调用任务”,而是“配置任务”。您只是给了它想要添加到jar清单中的属性。这一切都在我链接到的页面上进行了描述。它肯定不是Project的方法,因为Project不知道插件API。但插件可以注册自己,Project会将配置块的处理委托给相应的插件。就在那里,我刚刚在你的第一个链接中搜索了“jar”@迪玛:我在那页上找不到,。。。在表中,我只找到链接到类jar
的任务jar
的描述。但是没有方法jar
的文档(例如显示签名)。还是jar
不是一种方法?然后:在哪里记录了使用闭包调用任务以及它的含义?不是“调用任务”,而是“配置任务”。您只是给了它想要添加到jar清单中的属性。这一切都在我链接到的页面上进行了描述。它肯定不是Project的方法,因为Project不知道插件API。但插件可以自行注册,Project会将配置块的处理委托给相应的插件。感谢您的努力。我发现了一篇很好的文章,对你来说应该很有趣:谢谢你的努力。我发现了一篇很好的文章,你应该会感兴趣: