2

java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleConnectionPoolDataSourceJettyをGradleで実行しようとすると、例外が発生し、アイデアが不足します。gradleのjettyconfigは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

ライブラリファイルを標準の依存関係としてWebアプリケーションに追加すると、うまくいきました。

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

残念ながら、私はより多くのアプリサーバーに影響されたアプローチに着手していました。残念ながら、どのオプションも多くのフィードバックを提供しなかったため、-debug出力を確認すると、そのソリューションによってライブラリが一貫してロードされることがわかりました。

于 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 に答える