Pre*_*hev 5 java log4j jar gradle
我的一个Java项目导出可执行部署的可执行"fat-JAR"文件.要使用Gradle创建JAR文件,我按照此处描述的说明操作:
task fatJar(type: Jar) {
manifest {
attributes 'Implementation-Title': '<HUMAN_READABLE_TITLE_OF_YOUR_PACKAGE>',
'Implementation-Version': version,
'Main-Class': '<PATH_TO_THE_MAIN_APPLICATION_CLASS>'
}
baseName = project.name + '-all'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
Run Code Online (Sandbox Code Playgroud)
所示的任务将递归地通过依赖树,如果需要解压缩JAR,并将所有内容压缩在一起.到目前为止唯一的问题是我的一些依赖项带有自己的log4.properties文件,最终会覆盖我自己编写的文件.它们都位于相应的资源中folders,因此当文件合并在一起时,后面的文件似乎会覆盖之前添加的文件.
到目前为止,我找到的唯一解决方案是使用命令行参数手动设置正确文件的路径.我最终希望能够执行JAR本身,而无需额外的开销.
什么是保持我log4.properties和排除其他人被添加到包中的好方法?
您可以从要合并到构建 JAR 中的文件集合中排除该文件。
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
} {
exclude "dir/subdir/the_file_to.exclude".
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
420 次 |
| 最近记录: |