如何从Gradle生成的jar中排除配置文件

时间:2019-09-18 11:53:19

标签: java gradle

我有两个项目:

  • 1)常见
  • 2)应用

app是一个依赖于common的项目。

项目结构为:

project
    common 
         conf
         src
            java
            test
    app 
         conf
         src
            java 
            test

所以关于build.gradle

常见:

dependencies {
    ....
}
sourceSets {
    main {
        java {
            srcDir 'src/java'
            exclude 'conf'
        }
        resources {
            srcDir 'conf'
        }
    }

    test {
        java {
            srcDir 'src/test'
        }
    }
}

app:

dependencies {
    compile project(':common')
    ....
}
sourceSets {
    main {
        java {
            srcDir 'src/java'
            exclude 'conf'
        }
        resources {
            srcDir 'conf'
        }
    }

    test {
        java {
            srcDir 'src/test'
        }
    }
}

但是,当我运行 app 的测试用例时,当我检查在 build 文件夹中生成的 common.jar 时。我可以看到common.jar包含conf的* .xml文件。

我还尝试将以下内容添加到常见的build.gradle中:

jar { 
    exclude('conf/**') 
} 

但似乎不起作用。

仅当我运行应用程序的测试用例时,是否有办法从 common.jar 中排除conf / * xml?

1 个答案:

答案 0 :(得分:0)

在build.gradle文件中,可以添加exclude命令,然后添加要排除的文件

jar {     
   exclude('your file name')     
}

此外,如果您要排除多个文件

jar { 
    exclude('file1', 'file2')
  }