我正在尝试向我的build.gradle
中添加一个任务(gen
或gen2
),该任务与Jar
任务完全相同:
version = "0.0.1"
apply plugin: 'java'
task('gen', type: Jar) {
}
task gen2(type: Jar)
运行中
gradle jar
生成一个包含.class文件的JAR文件,同时运行。
gradle gen
或者
gradle gen2
生成一个不包含任何 .class 文件的 JAR 文件。
我的类定义有什么问题?
gen
和gen2
没有任何区别,只是使用了 Gradle DSL 中可能的两种变体。 - RaGegen
和gen2
应该是相同的,但是with
有时候有效,有时候无效。在https://docs.gradle.org/current/userguide/more_about_tasks.html的示例中,他们没有使用`with`并声称它应该可以工作(使用`Copy`而不是`Jar`)。也许默认配置在生成第二个实例时没有继承?我不知道,已经花了我两天时间来寻找答案。 - Edwardcopy
没有像jar
那样的默认预定义设置。因此,with copy
不会添加任何内容,而with jar
则会带来from sourceSets.main.output
和可能还有一个默认清单。 - RaGewith()
是Jar
类的一个方法:https://dev59.com/mpTfa4cB1Zd3GeqPW-PL#35948697 - R_User