将Maven资源转换为gradle资源

时间:2016-04-13 05:02:47

标签: maven gradle resources

我们正在从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>

我们有一个单元测试

getClass().getResource("/deploy/config/directory1/somefile.txt")

在完全迁移到Gradle之前,我不想更改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文件夹的根位置。我想保持结构相同所以在资源目录下会有一个config目录,然后config dir会有directory1和directory2。 2.我可以设置output.resourcesDir,但这意味着我必须将我的java代码更改为

getClass().getResource("somefile.txt") 

这是我必须避免的。

三江源

1 个答案:

答案 0 :(得分:0)

解决方法是:

//ip is a string
function stripIP(ip){
   var result = "";
   var arr = ip.match(/(?:0000:)*(.*)/);
   if(arr[1]){
    result = arr[1];
   }
 return result;
}

在斯德林的Gradle论坛上回答我们https://discuss.gradle.org/t/converting-maven-resources-to-gradle-resources/16447/2?u=domcc