TL; DR创建一个FatJar,但将`application.properties``文件从子项目复制到构建输出文件夹(其中任何一个)。
大家好,
我有一个gradle项目,它不包含父项目中的源代码,但有子项目。其中一个子项目有一个application.properties
文件,我希望它出现在我的构建文件夹中。应用程序的结构如下所示。
ParentProject
|
|-datamodel(Sub Project)
| |
| |-build.gradle
|-datadb(Sub Project)
| |
| |-build.gradle
|-dataservices(Sub Project)
| |
| |-src
| | |
| | |-main
| | |
| | |-resources
| |
| |-application.properties(File I need)
| |-build.gradle
|
|-build.gradle
我想拥有它,以便在构建ParentProject时,构建目录看起来像这样。
build
|
|-libs
| |
| |-outputted.jar
|
|-resources
|
|-application.properties
截至目前,我正在构建我认为称为FatJar的构建脚本输出。我不确定这是否会造成问题。
jar {
...
from {
(configurations.runtime).collect {
it.isDirectory() ? it : zipTree(it)
}
}
...
}
我尝试过的事情:
一切。我在ParentProject构建文件中尝试了整个自定义任务路径
task copyStuff (dependsOn : 'subproject:build'){...
task copyStuff and then copyStuff.dependsOn...
task copyStuff..{
doLast {
无论如何,我从来没有把它复制过来,整个晚上都是失败的瀑布。
非常感谢任何帮助。
答案 0 :(得分:1)
只需使用Copy
中的Gradle
任务,那取决于Jar
任务
task customBuild(type: Copy, dependsOn: [jar]) {
from "dataservices/src/main/resources/"
into "build/resources"
include "application.properties"
}