Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Gradles'jar'是一种方法吗?_Java_Gradle_Jar_Build_Build.gradle - Fatal编程技术网

Java Gradles'jar'是一种方法吗?

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是一个方法,它是以闭包作为参数调用

我在Gradle中使用Java插件

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会将配置块的处理委托给相应的插件。感谢您的努力。我发现了一篇很好的文章,对你来说应该很有趣:谢谢你的努力。我发现了一篇很好的文章,你应该会感兴趣: