java.lang.NoClassDefFoundError: Could not initialize class org.apache.pdfbox.pdmodel.font.PDFont

java.lang.NoClassDefFoundError: Could not initialize class org.apache.pdfbox.pdmodel.font.PDFont

我在 wildfly 模块中使用 Apache Tika(tika-app 1.17)。 当我开始提取 PDF 时,它总是抛出错误:

java.lang.NoClassDefFoundError: Could not initialize class org.apache.pdfbox.pdmodel.font.PDFont

对于其他文件扩展名,它工作正常。 我在 apache-tika module.xml 中尝试依赖于 PDFbox 的东西 从 standalone.xml

显式加载 org.apache.pdfbox

我也试过下面的结构 app1.war->(WEB-INF)lib-->app.jar->lib-->tika-app-1.17.jar

我还有 jboss-部署-structure.xml 其中

    <dependencies>
      <module name="com.company.tika" />         
    </dependencies>

被提及为模块依赖项。 在罐子的 MANIFEST.MF 中,我也依赖于 com.company.tika

似乎没有任何效果。

如有任何建议或帮助,我们将不胜感激。

提前致谢

Dwai

我可以解决这个问题。问题是 pdfbox、fontbox 和 jempbox 的次要版本不一样。因此 PDFFont 没有初始化,因为它在内部还需要加载 fontbox 的 类 并且 类

的版本 ID 可能不匹配

我有类似的问题。 在 linux 下,我只是通过以下方式安装缺少的库 pdfbox:

apt-get install libpdfbox-java
and restart solr server

此修改后我需要更改 ./bin/solr 中的 solr 启动参数 来自

SOLR_JAVA_STACK_SIZE='-Xss256kb'

SOLR_JAVA_STACK_SIZE='-Xss256M'

因为我有错误

java.lang.WhosebugErrorjava.lang.RuntimeException: java.lang.WhosebugError

当然我会重新启动 solr 服务器。

希望能帮到您解决这个问题。

仅设置 SOLR_JAVA_STACK_SIZE='-Xss256M' 并且不对库进行任何更改为我解决了这个问题