gradle - 如何构建一个带有lib目录的罐子以及其中的其他罐子? [英] gradle - how do I build a jar with a lib dir with other jars in it?
问题描述
目录(特别是lib / enttoolkit.jar和lib / mail.jar)的构建输出jar中嵌入jar?
逐字提升: http://docs.codehaus.org/display/GRADLE/Cookbook#Cookbook-Creatingafatjar
Gradle 0.9:
jar {
from configurations.compile.collect {it.isDirectory()? it:zipTree(it)}
}
Gradle 0.8:
jar.doFirst {
for(configuration.compile中的文件){
jar.merge(file)
}
}
上面的代码片段只包含该项目的编译依赖项,运行时依赖关系。如果您还想合并这些文件,请将configuration.compile替换为configurations.runtime。
编辑:只选择需要的jar
创建一个新的配置,releaseJars也许
配置{
releaseJars
}
将您需要的罐子添加到配置中
依赖关系{
releaseJars组:'javax.mail',名称:'mail',版本:'1.4'
// etc
$ / code>
然后在上面列出的jar任务中使用该配置。
In gradle - how can I embed jars inside my build output jar in the lib directory (specifially the lib/enttoolkit.jar and lib/mail.jar)?
Lifted verbatim from: http://docs.codehaus.org/display/GRADLE/Cookbook#Cookbook-Creatingafatjar
Gradle 0.9:
jar {
from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
Gradle 0.8:
jar.doFirst {
for(file in configurations.compile) {
jar.merge(file)
}
}
The above snippets will only include the compile dependencies for that project, not any transitive runtime dependencies. If you also want to merge those, replace configurations.compile with configurations.runtime.
EDIT: only choosing jars you need
Make a new configuration, releaseJars maybe
configurations {
releaseJars
}
Add the jars you want to that configuration
dependencies {
releaseJars group: 'javax.mail', name: 'mail', version: '1.4'
//etc
}
then use that configuration in the jar task outlined above.
这篇关于gradle - 如何构建一个带有lib目录的罐子以及其中的其他罐子?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!