如何在Gradle构建后从类路径中删除类

如何在Gradle构建后从类路径中删除类,gradle,Gradle,我有一个罐子需要包含在我的依赖项中 compile files('WebContent/WEB-INF/lib/wls-api.jar') jar中有一个类导致了一些问题,当我在gradle构建之后运行我的应用程序时,我不想在类路径上 在完成gradle构建后,我如何摆脱该类?它比第一次眨眼时看起来要复杂一些;因为您将修改原始输入! 您应该为您修改的工件创建一个配置(这是一个概念验证build.gradle snipplet): 或者..或者,可能更优选: 把这个魔法放到一个单独的项目中,这个

我有一个罐子需要包含在我的依赖项中

compile files('WebContent/WEB-INF/lib/wls-api.jar')
jar中有一个类导致了一些问题,当我在gradle构建之后运行我的应用程序时,我不想在类路径上


在完成gradle构建后,我如何摆脱该类?

它比第一次眨眼时看起来要复杂一些;因为您将修改原始输入! 您应该为您修改的工件创建一个配置(这是一个概念验证build.gradle snipplet):

或者..或者,可能更优选:
把这个魔法放到一个单独的项目中,这个项目将把这个罐子重新打包成一个有用的罐子。

它比第一次眨眼时看起来有点棘手;因为您将修改原始输入! 您应该为您修改的工件创建一个配置(这是一个概念验证build.gradle snipplet):

或者..或者,可能更优选:
把这个神奇的东西放到一个单独的项目中,这个项目将把这个罐子重新打包成一个有用的罐子。

构建后你如何运行这个应用程序?作为一个jar,war?我作为一个jar运行应用程序我不知道它是否是一个“胖”jar…我只是做
gradle构建
,然后运行jar(
java-jar-myApp.jar
)构建后如何运行应用程序?作为一个jar,war?我作为一个jar运行应用程序我不知道它是否是一个“胖”jar…我只是做
gradle构建
,然后运行jar(
java-jar-myApp.jar
apply plugin: 'java'

task filteredJar(type:Jar){
    // you may use a remote artifact by configuring a separate configuration for it and using a jar from:
    // configurations.theConfig.resolvedConfiguration.resolvedArtifacts
    from zipTree('a.jar')
    archiveName 'xx.jar'
    // use standard Copy/Sync like filters here, for the example i used
    include '**/Tool.class'
}

configurations {
    z1
}
artifacts {
    z1  filteredJar
}

dependencies {
    compile project(path: getPath(), configuration: 'z1')
}