gpt4 book ai didi

java - Tika Parser 作为 gradle jar 中的运行时依赖项

转载 作者:行者123 更新时间:2023-12-02 10:18:23 31 4
gpt4 key购买 nike

我有一个 gradle 项目,其中使用 Tika 的 AutoDetectParser 来提取内容。当项目构建到 fat jar 中时,AutoDetectParser 返回空字符串。我可以看到这是因为 Parser 不在运行时类路径中。如何将解析器添加到运行时类路径?

Gradle 构建文件:

    dependencies {
compile 'org.apache.tika:tika-parsers:1.20'
testImplementation 'junit:junit:4.12'
}

jar {
manifest {
attributes (
'Main-Class': 'com.superna.tikatest.TikaTestApp'
)
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
} {
exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA'
}
}

代码片段:

                Metadata metadata = new Metadata();
AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();

try(FileInputStream fis = new FileInputStream(localPath.toString());
BufferedInputStream bis = new BufferedInputStream(fis);
TikaInputStream stream = TikaInputStream.get(bis)) {
parser.parse(stream, handler, metadata);
System.out.println(handler.toString());
}

最佳答案

使用 Shadow 插件构建我的 jar 解决了问题

关于java - Tika Parser 作为 gradle jar 中的运行时依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54519693/

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