我有以下依赖项,我想创建一个主jar文件,其中只包含来自gradle依赖项的5个jar文件(来自root项目依赖项的3个jar文件和来自子项目依赖项的2个jar文件)(我只想包含以下文件' spring-webmvc',' spring-test'和'参数'以及我的master.jar文件中子项目依赖项中定义的另外两个jar文件)
dependencies {
compile project(':java_farm_core')
compile group: 'org.springframework', name: 'spring-webmvc', version: "$springVersion"
testCompile group: 'org.springframework', name: 'spring-test', version: "$springVersion"
runtime group: 'com.fir.param', name: 'parameters', version: '1.0-nep'
compile group: 'org.springframework', name: 'spring-beans', version: "$springVersion"
compile 'commons-codec:commons-codec:1.9'
compile group: 'com.fir.jide', name: 'jide-common', version: "$jideVersion"
compile group: 'com.fir.jide', name: 'jide-grids', version: "$jideVersion"
compile group: 'com.fir.jide', name: 'jide-charts', version: "$jideVersion"
testCompile group: 'org.springframework', name: 'spring-oxm', version: "$springVersion"
testCompile group: 'org.codehaus.castor', name: 'castor-xml', version: "1.3.1"
testCompile 'org.easymock:easymock:3.1'
runtime group: 'com.fir.param', name: 'parameters', version: '1.0-nep'
}
答案 0 :(得分:0)
Peter Niederwieser,我使用了以下脚本,但是我遗漏了一些东西并且它无法正常工作,以下行是抛出异常 “来自reuterslibs.reuters.collect {zipTree(it)}”。我想要创建单个主jar文件,其中包含ext.reuterslibs中指定的jar文件中的所有类
ext.reuterslibs = [ 路透社:[files(“jfl / reuters / ansi.jar”,“jfl / reuters / jDacsPrincipal.jar”,“jfl / reuters / jsfc_p2ps.jar”) ]
task reutersJar( type: Jar ) {
baseName = 'Reuters'
from reuterslibs.reuters.collect { zipTree(it) }
//from reuterslibs.reuters.collect { from zipTree(it) }
//from files {reuterslibs.reuters.collect {zipTree(it)}}
}
答案 1 :(得分:0)
以下是工作解决方案,现在我唯一关心的是,我想使用 ext.jidelibs 中指定的所有文件创建一个jar文件,该文件在< strong> dependencies.gradle 并使用应用于:&#34; $ rootDir / dependencies.gradle&#34; 应用于 build.gradle ,所以现在我不希望将jidelib定义为配置,我想直接遍历 ext.jidelibs 中定义的文件,并希望创建包含ext中定义的所有jar文件内容的主jar文件。 jidelibs。
ext.jidelibs = [
jide: [
files ("$jfl/jide/batik-awt-util.jar",
"$jfl/jide/commons-collections-3.1.jar",
"$jfl/jide/commons-logging.jar",
"$jfl/jide/jide-charts.jar",
"$jfl/jide/jide-action.jar"
)
]]
// task to generate signedJide.jar
task jideJar( type: Jar ) {
duplicatesStrategy = 'exclude'
baseName = 'Jide'
from configurations.jidelib.collect {
it.isDirectory() ? it : zipTree(it).matching {
exclude "META-INF/*LICENSE*"
// exclude "META-INF/*NOTICE*"
//exclude "com/jidesoft/document/document.properties"
} }
}
configurations {
jidelib
}
dependencies {
jidelib jidelibs.jide
}