java - 如何从gradle生成的jar中排除配置文件

标签 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'
        }
    }
}

应用程序:

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?

最佳答案

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

jar {     
   exclude('your file name')     
}

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

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

关于java - 如何从gradle生成的jar中排除配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57992161/

相关文章:

Java 无法识别 Windows 11 路径中的 Unicode 字符

java - 将 Vorbis SPI 依赖项添加到 Maven 项目

linux - 错误 :13 - Permission Denied android studio

jenkins - Jenkins插件开发Gradle构建

gradle - 从Travis CI推送到主分支

java - 警告记录安全信息

java - JAXB 与应用程序其余部分之间的方法冲突

Gradle 包装器和守护程序

ant - 将yGuard Ant任务转换为Gradle

java - 调试异步任务时 Android Studio 中的奇怪调试器行为