- 締切済み
JNDIの設定について
実行時にjava.lang.NoClassDefFoundError?: oracle/jdbc/pool/OracleDataSource?が発生します。 JNDIの設定の仕方がよくわかりません。 以下はソースです。 public static ConnectionPoolDataSource getConnectionPoolDataSource(String baseName) { Context context = null; ConnectionPoolDataSource cpds = null; try { Properties properties = new Properties(); properties.setProperty( Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory"); properties.setProperty( Context.PROVIDER_URL, "file:/JNDI/JDBC"); context = new InitialContext(properties); cpds = (ConnectionPoolDataSource)context.lookup(baseName); } catch (NamingException e) { System.err.println(e.getMessage() + " creating JNDI context for " + baseName); } return cpds; } protected static synchronized void checkIn(Connection c) { try { c.close(); } catch (SQLException e) { System.err.println(e.getMessage() + " closing connection"); } } public static String[] getReport() { int line = 0; String[] lines = new String[numberImplementations * 7]; OracleConnectionCacheImpl cached = null; for (int i=0;i < numberImplementations;i++) { cached = (OracleConnectionCacheImpl)cachedImplementations.get(i); lines[line++] = cached.getDescription() + ":"; switch (cached.getCacheScheme()) { case OracleConnectionCacheImpl.DYNAMIC_SCHEME: lines[line++] = "Cache Scheme = DYNAMIC_SCHEME"; break; case OracleConnectionCacheImpl.FIXED_RETURN_NULL_SCHEME: lines[line++] = "Cache Scheme = FIXED_RETURN_NULL_SCHEME"; break; case OracleConnectionCacheImpl.FIXED_WAIT_SCHEME: lines[line++] = "Cache Scheme = FIXED_WAIT_SCHEME"; break; } lines[line++] = "Minimum Limit = " + Integer.toString(cached.getMinLimit()); lines[line++] = "Maximum Limit = " + Integer.toString(cached.getMaxLimit()); lines[line++] = "Cache Size = " + Integer.toString(cached.getCacheSize()); lines[line++] = "Active Size = " + Integer.toString(cached.getActiveSize()); lines[line++] = " "; } return lines; } public static void setVerbose(boolean v) { verbose = v; } } ご教授よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- OKwebb
- ベストアンサー率44% (92/208)
実行時のクラスパスでoracle/jdbc/pool/OracleDataSourceがみつからないのでしょう。 コンパイルが通っているのなら、コンパイル時に指定したクラスパスと実行時のクラスパスを比較してみましょう。