2014-11-21 152 views
1

我使用的是OS X Yosemite附帶的Java 7版本。我的理解是Oracle現在將Java DB(即Derby)與Java一起發佈,所以也許我已經安裝了它。ClassNotFoundException:OS X上的org.apache.derby.jdbc.EmbeddedDriver優勝美地

我目前在嘗試Class.forName("org.apache.derby.jdbc.EmbeddedDriver")時得到ClassNotFoundException

我應該以某種方式從本地目錄添加驅動程序,還是必須額外獲取它(例如,因爲OS X帶有JRE而不是JDK)?

如果第二個是真的,我應該從哪裏得到它(即,Apache和Oracle的驅動程序之間是否存在差異)?

+0

Derby不包含在Java中,您需要將它自己添加到您的類路徑中。 – 2014-11-21 11:37:02

+0

@MarkRotteveel我有點困惑,因爲[這裏](http://www.oracle.com/technetwork/java/javadb/overview/javadb-156712.html)它說「Java DB包含在JDK中」。 – Drux 2014-11-21 11:38:54

+1

它與JDK一起安裝(至少使用Java 7,不知道它們是否仍然使用Java 8),但它不包含在Java中,因此您仍然需要將它包含在classpath中。 – 2014-11-21 11:44:14

回答

2

雖然Derby(或JavaDB)與JDK一起安裝(至少對於Java 7,不知道它們是否仍然使用Java 8),但它不是Java本身的一部分。這意味着你仍然需要將它包含在classpath中。