2017-02-19 44 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目錄的好主意。

相關問題