2017-02-19 113 views
0

我正在制作一个应用程序,它可以在众多已知文档格式(.docx,.odt,.txt等等)上创建Lucence索引。 )。Gradle,Tika - 排除一些使“fat jar”太胖的依赖包

提卡是提取文本的理想选择,但它似乎是使我的脂肪瓶气球达到62 MB的罪魁祸首。

为了使脂肪罐子我在做这在我的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 dependencies,提卡似乎的确有上百个......他们大多很明显,我不需要。

是否有已知的Gradle方法排除/过滤掉某些依赖关系?

具体到提卡:如果有谁知道如何识别哪些依赖关系处理的文件类型,那也太非常有用......

+0

是否可以使用Tika 2.x分支? 2.x中的解析器模块比较模块化得多 – Gagravarr

+0

谢谢......没有提到我可以在网站上看到的Tika 2:去年10月份发布的最新稳定版本是1.14。你似乎是一个内部人:你能给我一个链接,或告诉我发生了什么? –

+0

目前还没有官方的Tika 2.x版本,因为还有一些其他突破性API更改仍在进行中。解析器重构部分虽然完成。请参阅https://wiki.apache.org/tika/Tika2_0RoadMap获取详细信息和链接,以获取2.x源代码来构建自己 – Gagravarr

回答

1

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目录的好主意。

相关问题