2014-11-21 78 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中。