java - Gradle制作部署jar文件

标签 java deployment groovy jar gradle

我正在尝试为多模块项目创建部署 jar 文件。我正在使用此代码来创建它:

subprojects.each { subproject -> evaluationDependsOn(subproject.path)}
task allJar(type: Jar, dependsOn: subprojects.assemble) {
    baseName = 'apollo'
    subprojects.each { subproject ->
        from subproject.configurations.archives.buildDependencies.files.collect {
            zipTree(it)
        }
    }
}
artifacts {
    archives allJar
}

但是它用我不希望在我的部署 jar 中的测试构建 jar 有没有办法排除或者我使用错误的代码来构建部署 jar。

最佳答案

添加 exclude 参数应该会有所帮助(如此处所写 http://gradle.1045684.n5.nabble.com/How-to-exclude-some-classes-from-jar-td3315811.html )。

subprojects.each { subproject -> evaluationDependsOn(subproject.path)}
task allJar(type: Jar, dependsOn: subprojects.assemble) {
    baseName = 'apollo'
    subprojects.each { subproject ->
        from subproject.configurations.archives.buildDependencies.files.collect {
            zipTree(it)
        }
    }
    exclude('src/test..')
}
artifacts {
    archives allJar
}

另请阅读 gradle Jar API ,您会在其中找到一些可以使用的 exclude 方法。

关于java - Gradle制作部署jar文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17102473/

相关文章:

java - 使用 ParallelOld GC 禁用 ClassUnloading

java - 没有办法遍历或复制 Java ThreadLocal 的所有值吗?

java - 比较数组内的对象以进行排序

node.js - Node.js 项目的 Azure Web 服务部署失败

groovy - 如何使用groovy解析xml

java - ManyToMany 的 MappingException

java - 禁用 Java 警告外观并影响 Java Web Start 应用程序

mysql - Rails 部署 - 数据库未上传

groovy - 如何从管道 (jenkinsfile) 中使用 Jenkins Copy Artifacts 插件?

调用 SOAP Web 服务的 Java/Groovy 方法(版本 1.2)