根据documentation of the Jar plugin,输出目录由destinationDir
属性控制:
档案
destinationDir
生成存档的目录。
默认使用java插件:
project.distsDir
查看documentation of the Project class相同的属性:
java
插件添加的属性
distsDir
:生成TAR和ZIP存档的目录。- 进行了解释
distsDirName
:分发目录的名称。这相对于项目'build directory。
谷歌搜索了一下我发现a document specifying their defaults:
文件
distsDir
(只读)生成TAR和ZIP存档的目录。
默认使用java插件:
${project.buildDir}/${project.distsDirName}
字符串
distsDirName
分发目录的名称。这是相对解释的 到项目的构建目录。
默认使用java插件:
'distributions'
所有这些文档都指向相同的Gradle版本,与我安装的版本相匹配。
我在build.gradle
中添加此内容以检查这些属性的实际值:
println("distsDirName = " + project.distsDirName)
println("distsDir = " + project.distsDir.toString())
jar {
println("jar.destinationDir = " + destinationDir)
}
最后,我运行./gradlew
并检查输出:
distsDirName = distributions
distsDir = /home/ntrrgc/myProject/build/distributions
jar.destinationDir = /home/ntrrgc/myProject/build/libs
为什么jar.destinationDir
不尊重其记录的默认值?
答案 0 :(得分:6)
我认为,@ Alicia指出当前documentation of the Gradle Jar plugin在File destinationDir的默认值中提供错误信息是正确的:
档案destinationDir
生成存档的目录。
默认使用java插件:
project.distsDir
其中distsDir的默认值为“build / distributions”,可以是here。
在我看来,它应该是
档案destinationDir
生成存档的目录。
默认使用java插件:
project.libsDir
其中libsDir的默认值为'build / libs',可以看作here again。
我为此打开了Gradle issue #1086。让我们看看,他们回答了什么。