gpt4 book ai didi

java - Gradle、Tika - 排除一些使 "fat jar"太胖的依赖包

转载 作者:行者123 更新时间:2023-12-01 08:51:56 24 4
gpt4 key购买 nike

我正在制作一个应用程序,它可以在一些众所周知的文档格式(.docx、.odt、.txt 等)上创建 Lucence 索引。

Tika 非常适合提取文本,但它似乎是导致我的 fat jar 气球大小达到 62 MB 的罪魁祸首。

为了制作 fat jar 子,我在 build.gradle 中这样做:

buildscript {
repositories { jcenter() }
dependencies { // fatjar
classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.4' }
}
apply plugin: 'com.github.johnrengelman.shadow'
shadowJar {
baseName = project.name
classifier = null
version = project.version
}

task copyJarToBin(type: Copy) {
from shadowJar
into "D:/My Documents/Software projects/Operative/" + project.name
}

当我去gradle依赖项时,Tika确实似乎有数百个......其中大多数显然是我不需要的。

是否有已知的 Gradle 方法来排除/过滤某些依赖项?

特定于 Tika:如果有人知道如何识别哪些依赖项处理哪些文件类型,那也将非常有用......

最佳答案

看看Gradle dependency management 。您可以按模块、组或两者排除依赖项:

compile('library:with-a-lot-of-deps:1.0') {
exclude module: 'weird-extension'
exclude group: 'microsoft-extensions'
exclude group: 'adobe-extensions', module: 'pdf-extension'
}

您还可以从所有配置中删除依赖项:

configurations {
all*.exclude group: 'all-the-unneeded-extensions'
}

不知道蒂卡,但这可能是一个单独的问题。阅读 Tika 文档并检查 Jars 中的 META-INF 目录可能是个好主意。

关于java - Gradle、Tika - 排除一些使 "fat jar"太胖的依赖包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42333087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com