与java.lang.noclassdeff相关的错误ounderror:oracle/xdb/xmltype

ymzxtsji  于 2021-07-08  发布在  Java
关注(0)|答案(0)|浏览(581)

在我们的javaweb应用程序中,我们使用pom.xml中的以下3个依赖项来处理xmltype查询&我们的tomcat在不同的应用程序(多个war)之间共享,并且在tomcat common/libs文件夹ojdbc8中提供了jar(ver-12.2.0.1)。
如果我们从commons中删除ojdbc8jar,下面的代码片段可以正常工作,没有问题,但是当我们保持ojdbc8jar不变时,它会引发异常。

java.lang.NoClassDefFoundError:oracle/xdb/XMLType

由于服务器是共享的,所以我们无法删除jar,因此正在寻找解决该问题的方法。我们已经尝试从pom中删除ojdbc依赖,但是这个选项也不起作用。
pom.xml文件-

<dependency>
<groupId>oracle</groupId>
<artifactId>xdb</artifactId>
<version>1.0</version>
<dependency>

<dependency>
<groupId>com.oracle.jdbc</groupId>
<artifactId>xmlparserv2</artifactId>
<version>12.2.0.1</version>
<dependency>

<dependency>
<groupId>com.oracle.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>12.2.0.1</version>
<dependency>

java代码-

Map<String,Object> result = null;
result=jdbcTemplate.queryForObject(sql,params,rowmapper);
XMLType xmlTypeObj = (XMLType) result.get(C_RESULT); 
String xmlStr = xmlTypeObj.getStringVal();

当从commons lib中删除ojdbc8jar时,xmlstr完美地显示了所需的xml。
我们正在寻找一个解决方案,在不从commons中删除jar的情况下,我们能够解决这个问题。做了一些研究,看起来jar冲突/类加载问题与xml处理有关。
我们使用的是java1.8、tomcat9.0和oracle12db。
非常感谢您的帮助。谢谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题