2015-10-17 75 views
1

后,我有一个罐子,我需要在我的依赖关系,包括...如何从classpath中删除一个类摇篮建立

compile files('WebContent/WEB-INF/lib/wls-api.jar') 

有不调和,是造成麻烦内一类,我想当我在Gradle构建之后运行我的应用程序时,不在类路径中。

如何在做Gradle构建后摆脱那个类?

+0

如何在构建后运行应用程序?作为一个罐子,战争? – Opal

+0

我作为一个罐子运行应用程序 –

+0

它是一个胖罐子吗? – Opal

回答

0

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

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') 
} 

or..alternatively,而且可能更优选: 把这个魔术到一些单独的项目将这个罐子重新包装成一个有用的包装。