有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

intellij idea测试脚本在使用java触发时失败。lang.ClassNotFoundException:oracle。jdbc。驾驶员OracleDriver错误消息

我已经向Intellij中的gradle项目添加了一个ojdbc14 jar文件,当使用Intellij中的run选项触发测试用例时,我的测试脚本(包括db验证)运行良好。但是当使用jenkins通过CI触发时,相同的测试脚本失败,并给出以下错误

Feature: 3D secure code scenarios
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:190)
    at util.OracleDBService.createDriver(OracleDBService.java:88)
    at util.OracleDBService.openConnection(OracleDBService.java:56)
    at util.OracleDBService.executeQuery(OracleDBService.java:13)
    at pages.DBListOfQuery.getOrderStatusFromDB(DBListOfQuery.java:67)
    at steps.FlowScenarioSteps.verify_the_order_placed_for_order_id_and_validate_order_xml(FlowScenarioSteps.java:226)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at cucumber.runtime.Utils$1.call(Utils.java:34)
    at cucumber.runtime.Timeout.timeout(Timeout.java:13)
    at cucumber.runtime.Utils.invoke(Utils.java:30)

我的项目。iml文件包括jdbc库

 <library>
        <CLASSES>
          <root url="jar://$USER_HOME$/Downloads/ojdbc14.jar/ojdbc14.jar!/" />
        </CLASSES>
        <JAVADOC />
        <SOURCES />
      </library>

共 (1) 个答案

  1. # 1 楼答案

    这是因为Jenkinsojdbc14.jar一无所知。当本例中的Jenkins激发作业想要编译项目、测试某些类等时,它必须知道提供的库

    我不知道Jenkins在您的公司或本地计算机上是如何配置的,但您需要手动将此ojdbc14.jar添加到其本地存储库中。例如,本地存储库可以由mavengradle处理

    因此,在这种情况下,您需要将Jenkins配置为使用gradle,并将ojdbc14.jar添加到gradle本地存储库