将Maven资源转换为gradle资源

将Maven资源转换为gradle资源,maven,gradle,resources,Maven,Gradle,Resources,我们正从Maven搬到Gradle,我被困在下面的问题上。在我们当前的pom.xml中,我们有: <resources> <resource> <targetPath>deploy/config/directory1</targetPath> <directory>config/directory1</directory> </resource>

我们正从Maven搬到Gradle,我被困在下面的问题上。在我们当前的pom.xml中,我们有:

<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
}