Quartz scheduler 石英1.8.5+;OpenLiberty 18.0.0.4/Websphere Liberty 17.0.0.4 java.lang.NoClassDefFoundError:oracle/sql/BLOB

Quartz scheduler 石英1.8.5+;OpenLiberty 18.0.0.4/Websphere Liberty 17.0.0.4 java.lang.NoClassDefFoundError:oracle/sql/BLOB,quartz-scheduler,oracle12c,classnotfoundexception,websphere-liberty,open-liberty,Quartz Scheduler,Oracle12c,Classnotfoundexception,Websphere Liberty,Open Liberty,当使用quartz 1.8.5和liberty服务器时,我们会遇到以下异常。使用tomcat服务器(7.0.81)时,不会发生异常 java.lang.NoClassDefFoundError: oracle/sql/BLOB at org.quartz.impl.jdbcjobstore.oracle.OracleDelegate.writeDataToBlob(OracleDelegate.java:642) at org.quartz.impl.jdbcjobstore.oracle.Or

当使用quartz 1.8.5和liberty服务器时,我们会遇到以下异常。使用tomcat服务器(7.0.81)时,不会发生异常

java.lang.NoClassDefFoundError: oracle/sql/BLOB
at org.quartz.impl.jdbcjobstore.oracle.OracleDelegate.writeDataToBlob(OracleDelegate.java:642)
at org.quartz.impl.jdbcjobstore.oracle.OracleDelegate.insertJobDetail(OracleDelegate.java:207)
pom.xml

<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>1.8.5</version>
</dependency>       
<dependency>
    <!-- ASYNC-METHOD-INVOCATION -->
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz-oracle</artifactId>
    <version>1.8.5</version>
</dependency>
<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>12.1.0.2.0</version>
    <scope>provided</scope>
</dependency>

org.quartz-scheduler
石英
1.8.5
org.quartz-scheduler
石英甲骨文
1.8.5
com.oracle
ojdbc6
12.1.0.2.0
假如
数据源

<server>
  <library id="oracleDriver">
        <fileset dir="..\sw\oracle" includes="*.jar" scanInterval="120s" />
  </library>
  <!-- xa datasource -->
  <dataSource id="ORACLE_DS_XA" jndiName="jdbc/xxx/xxx" pool-name="xxx">
    <jdbcDriver libraryRef="oracleDriver" javax.sql.ConnectionPoolDataSource="oracle.jdbc.xa.client.OracleXADataSource" />
    <properties.oracle URL="jdbc:oracle:thin:@localhost:1521:sid" password="user" user="password" />
    <connectionManager minPoolSize="1" maxPoolSize="10" />
  </dataSource>
  <keyStore id="defaultKeyStore" password="password" />    
</server>

这一例外的原因可能是什么?我们怎样才能解决这个问题呢? 告诉我是否应该提供有关配置的更多信息


TIA

我也不太熟悉,但是如果quartz捆绑在您的应用程序中,并且需要从Oracle驱动程序访问这些类,那么您需要将共享库公开给您的应用程序

您可以通过将
部分添加到



成功了!刚刚在server.xml的应用程序部分添加了对库的引用的类加载器。谢谢。很高兴你的问题解决了。在Liberty中使用非托管线程时要小心(如果这确实是通过Quartz使用的),因为它可能会导致各种问题。
<application ...rest of your app configuration...>
   <classloader commonLibraryRef="oracleDriver"/>
</application>