使用 Oracle 11g ojdbc6.jar 時,我們將得到以下錯誤:
WARNING: Error while registering Oracle JDBC Diagnosability MBean.
java.lang.NoSuchMethodError:
javax.management.StandardMBean.<init>(Ljava/lang/Class;Z)V
at oracle.jdbc.driver.OracleDiagnosabilityMBean.<init>(OracleDiagnosabilityMBean.java:34)
at oracle.jdbc.driver.OracleDriver.registerMBeans(OracleDriver.java:342)
at oracle.jdbc.driver.OracleDriver$1.run(OracleDriver.java:199)
經過許多論壇和博客的調查之後,我們還沒有找到任何 final 解決方案。 所以,我們想在這裡分享 workaround 。
Oracle文檔可以診斷性管理特性引入了一個 MBean oracle.jdbc. driver.OracleDiagnosabilityMBean 。 這裡MBean提供了啟用和禁用JDBC日誌的方法,你可以在這裡找到它: https://docs.oracle.com/cd/B28359_01/java.111/b31224/diagnose.htm 。
驅動程序使用 java.util.logging 進行日誌記錄,實際上我們不需要使用該信息,因這裡決定禁用日誌。
如何禁用驅動程序( oracle.jdbc )的日誌:
- 默認情況下,JRE使用 jre_homeliblogging 。properties中的默認屬性文件,因此編輯該文件並添加這裡信息:
- 或者配置 java.util. 日誌記錄自己的屬性日誌文件
- -djava 。log 。config 。file=/YourConfig 。屬性
- 將 oracle.jdbc. level=OFF添加到 YourConfig.properties
它為我們工作,沒有任何WANRING錯誤上。
原文出處:java警告:注册 Oracle JDBC可以诊断性MBean时出错_java_帮酷编程知识库