Java 在JIRA模块中使用Saxon处理XPath

Java 在JIRA模块中使用Saxon处理XPath,java,maven,jira,saxon,xerces,Java,Maven,Jira,Saxon,Xerces,我想使用saxon在jira模块中处理xpath。 覆盖有问题代码的单元测试在eclipse中运行良好,因此我部署了该模块,并且 我遇到了可怕的事情 java.lang.ClassCastException:org.apache.xerces.jaxp.SAXParserFactoryImpl不能强制转换为javax.xml.parsers.SAXParserFactory(请参阅) 我尝试从saxon依赖项中排除XMLAPI,正如中所建议的那样 现在我发现w3c.dom不见了,这很奇怪,因为我

我想使用saxon在jira模块中处理xpath。 覆盖有问题代码的单元测试在eclipse中运行良好,因此我部署了该模块,并且

我遇到了可怕的事情

java.lang.ClassCastException:org.apache.xerces.jaxp.SAXParserFactoryImpl不能强制转换为javax.xml.parsers.SAXParserFactory(请参阅)

我尝试从saxon依赖项中排除XMLAPI,正如中所建议的那样

现在我发现w3c.dom不见了,这很奇怪,因为我敢打赌它存在于jira的某个地方。 尽管如此,我还是将dom4j添加到pom依赖项中,并得到了

java.lang.NoClassDefFoundError:无法初始化类net.sf.saxon.Configuration

没有显示缺少哪个类

以下是出现初始问题的代码:

导致当前状态的修补程序位于


解决办法是什么?

好的,想出来了。我不知道为什么,因此欢迎进行分析

     <dependency>
       <groupId>net.sf.saxon</groupId>
       <artifactId>Saxon-HE</artifactId>
       <version>9.4</version>
       <exclusions>
        <exclusion>
            <artifactId>xom</artifactId>
            <groupId>xom</groupId>
        </exclusion>
        <exclusion>
            <artifactId>dom4j</artifactId>
            <groupId>dom4j</groupId>
        </exclusion>
       </exclusions>
     </dependency>

net.sf.saxon
萨克森河
9.4
xom
xom
dom4j
dom4j

暂时删除排除项,为groupId=
com.atlassian.jira
添加临时依赖项,artifactId=
jira core
,version=
yourJiraVersion
,scope=
提供的
,然后运行
atlas mvn依赖项:树
。这将显示项目的所有可传递依赖项,因此您将能够看到正在使用哪些其他xerces类型的模块。您还可以查看手动包含的saxon模块的所有依赖项,并查看它们在JIRA中的重复内容。