Jakarta ee Wildfly上的Tika解析器部署问题

Jakarta ee Wildfly上的Tika解析器部署问题,jakarta-ee,deployment,wildfly,apache-tika,Jakarta Ee,Deployment,Wildfly,Apache Tika,作为web应用程序的一部分,我需要解析不同传入文件的文本内容。 使用tika解析器应该很简单,但一旦我尝试部署我的webapp 在Wildfly测试的V.8.2.1和V.10.0.0.RC4中,我遇到了问题 这是我在一个非常基本的Web应用程序中对maven的依赖: <groupId>org.apache.tika</groupId> <artifactId>tika-parsers</artifactId> <version>1.11

作为web应用程序的一部分,我需要解析不同传入文件的文本内容。 使用tika解析器应该很简单,但一旦我尝试部署我的webapp 在Wildfly测试的V.8.2.1和V.10.0.0.RC4中,我遇到了问题

这是我在一个非常基本的Web应用程序中对maven的依赖:

<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<version>1.11</version>
我假设存在依赖冲突,但不知道如何避免它。 beans.xml?jboss-deployment-structure.xml?禁用任何wildfly模块

问候,,
Philipp

除了Tika将大量有问题的依赖项和大量不受欢迎的可传递依赖项转储到运行时类路径之外,您还遇到了以下问题:

基本上,CDI 1.1中的不兼容问题在CDI 1.2中得到了解决;在Wildfly中手动将Weld更新为2.3.x版可能会完全消除该问题

除非进行手动升级,否则可以通过声明包含以下内容的META-INF/jboss-all.xml文件来解决问题。假设你有一场战争,确切的路径是webapp/META-INF/jboss-all.xml

<jboss xmlns="urn:jboss:1.0">
    <weld xmlns="urn:jboss:weld:1.0" require-bean-descriptor="true"/>
</jboss>
并确保再次定义WEB-INF/beans.xml文件:假设您自己的模块中需要CDI支持的war。这迫使Weld仅尝试配置包含beans.xml文件的模块,而CXF不会这样做


除此之外,我真的会调查依赖树,看看通过Tika可以得到什么;例如,您会发现javax.inject API被放在编译范围内,因此与您的应用程序一起部署,这是您真正不想要的。

如果有人仍在寻找此API,您可以将以下行添加到pom.xml中:

org.apache.tika 提卡解析器 1.13 org.apache.cxf *
谢谢添加jboss-all.xml修复了deploymen组织!啊!现在部署工作正常,tika没有给我任何内容,例如pdf或office文件。我认为它正在倒退到使用空帕瑟。。。我认为这是一个副作用,因为它显示了与我在pom中排除xcf依赖项时相同的效果。@Philipp听到这个消息很抱歉。但这是另一个问题。这为我解决了这个问题,尽管我的依赖关系实际上是org.apache.tika:tika-java7:1.22。我没有尝试过另一个答案,因为这个答案似乎更简单。
<jboss xmlns="urn:jboss:1.0">
    <weld xmlns="urn:jboss:weld:1.0" require-bean-descriptor="true"/>
</jboss>