2015-05-19 31 views
6

我一直在使用ojdbc14.jar,現在想將它升級到ojdbc7.jar以支持oracle12c。驅動程序更新到ojdbc7.jar給oracle/security/pki/OraclePKIProvider錯誤

但連接服務器給「oracle/security/pki/OraclePKIProvider」報錯。

如果我將oraclepki.jar添加到classpath服務器,啓動沒有任何錯誤。

我想弄清楚在ojdbc7.jar中添加了哪些特殊的東西,它要求我添加oraclepki.jar,與ojdbc14.jar一樣,它從來沒有要求我將oraclepki添加到我的類路徑中。

有沒有人知道ojdbc7導致這個錯誤有什麼變化,可以做些什麼來避免在類路徑中添加oraclepki?

+0

這是一個ClassNotFoundException異常嗎? –

+0

謝謝克拉克,它只是說錯誤:oracle/security/pki/OraclePKIProvider,但我一定認爲它的ClassNotFoundException在類路徑中添加jar解決了這個問題。 –

+0

檢查ojdbc14.jar是不是在類路徑 –

回答

3

檢查您的類路徑,並確保您刪除以下內容:(如果存在)

-XX:-UseSplitVerifier

+1

爲我工作,但我想知道什麼是b/w usesplitverifier和該異常的連接? –

0

這是記錄在Oracle支持數據庫的issue。如果您擁有Oracle支持,您可以在此處找到更多信息。如果沒有...

正如Joseph Carroll所說,從命令行中刪除-XX:-UseSplitVerifier Java參數可能會解決您的問題。 UseSplitVerifier參數基本上告訴Java使用較早的,較不嚴格的字節碼驗證器(當從Java 6升級到Java 7時,它有時用於讓舊的字節碼檢測工具工作)。

  1. 升級到Java 7兼容的字節碼儀器儀表工具:不幸的是,它與Java 7升級某些工具時的Java 8.其他的事情你可能不包括(每甲骨文)引起了一些問題。
  2. 或者,作爲 的解決方法,請在類路徑中包含oraclepki_121020.jar。這是 一個有效的解決方法,以防升級到Java 7兼容的字節碼 儀器工具是不可能的。

article討論爲什麼-XX:-UseSplitVerifier是爲了將Java 7與Oracle一起使用而添加的。這article談論使用–noverify標誌與Java 8而不是-XX:-UseSplitVerifier

相關問題