将Maven资源转换为gradle资源
我们正从Maven搬到Gradle,我被困在下面的问题上。在我们当前的pom.xml中,我们有:将Maven资源转换为gradle资源,maven,gradle,resources,Maven,Gradle,Resources,我们正从Maven搬到Gradle,我被困在下面的问题上。在我们当前的pom.xml中,我们有: <resources> <resource> <targetPath>deploy/config/directory1</targetPath> <directory>config/directory1</directory> </resource>
<resources>
<resource>
<targetPath>deploy/config/directory1</targetPath>
<directory>config/directory1</directory>
</resource>
<resource>
<targetPath>deploy/config/directory2</targetPath>
<directory>config/directory2</directory>
</resource>
<resource>
<targetPath>deploy/scripts</targetPath>
<directory>scripts</directory>
</resource>
我不想更改pom.xml,因为在我们完全迁移到Gradle之前,出于部署的原因需要该结构。我试图在格拉德尔做同样的事情,但没有多大成功:
sourceSets {
main {
java {
srcDirs 'src'
}
resources {
srcDirs = [
"config/directory1",
"config/directory2",
"scripts",
]
// output.resourcesDir = "$buildDir/deploy"
}
}
A对此有一些问题:
1.config/directory1和config/directory2中的文件被复制到resources文件夹的根位置。我希望保持结构不变,这样resources目录下就有一个config目录,config目录下就有directory1和directory2。
2.我可以设置output.resourcesDir,如图所示,但这意味着我必须将java代码更改为
getClass().getResource("somefile.txt")
这是我必须避免的
谢谢解决方案是:
processResources {
from("scripts") {
into("deploy/scripts")
}
from("config/directory1") {
into("deploy/config/directory1")
}
// etc
}
回答我们来自斯特林在格拉德尔论坛这里
processResources {
from("scripts") {
into("deploy/scripts")
}
from("config/directory1") {
into("deploy/config/directory1")
}
// etc
}