2

java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleConnectionPoolDataSource当我试图通过 Gradle 运行 Jetty 时遇到了一个异常并且我已经没有想法了。gradle 中的 jetty 配置指向一个 env 文件:

[jettyRun, jettyRunWar]*.jettyEnvXml = file('../resources/jetty/jetty-env.xml')

在该文件中是 JNDI 配置:

<New id="OracleDS" class="org.mortbay.jetty.plus.naming.Resource">
  <Arg>java:comp/env/OracleDS</Arg>
  <Arg>
    <New class="oracle.jdbc.pool.OracleConnectionPoolDataSource">
      ...
    </New>
  </Arg>
</New>

我一直在尝试向该文件添加一个 extraClasspath,设置 jetty.home 系统属性,并将依赖项添加到 jar(到 webapp 和 buildscript)。我也尝试过更简单的OracleDataSource课程。任何具体的建议都会非常有帮助。

4

3 回答 3

1

将库文件作为标准依赖项添加到 webapp 就可以了。

providedRuntime files("$projectDir/../lib/ojdbc14.jar")

不幸的是,我开始采用更多受应用服务器影响的方法。不幸的是,这些选项都没有提供太多反馈,因此通过 --debug 输出的 grepping 表明该解决方案导致库被一致加载。

于 2012-09-13T19:11:47.707 回答
0

我遇到了同样的问题并使用'additionalRuntimeJars'属性解决了它:

jettyRun {
    additionalRuntimeJars = configurations.myJettyRuntime // for oracle classes
}
于 2015-01-06T08:20:59.903 回答
0

将 Oracle 依赖项添加到 Jetty 插件配置中

于 2019-08-28T05:55:41.833 回答