java.lang.ClassNotFoundException:org.apache.derby.jdbc.EmbeddedDriver

我正在使用Eclipse EE Kepler,我正试图在我的程序中运行derby。 我添加到我的构建路径derby.jarderbyclient.jar ,但我仍然收到以下错误: java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver 。 有人可以帮我解决这个问题吗?

我遇到了同样的问题’java.lang.ClassNotFoundException:org.apache.derby.jdbc.EmbeddedDriver’。 在我的例子中,scope属性设置为test

    org.apache.derby derby 10.13.1.1 test  

您需要从依赖项中删除scope元素并更新依赖项,如下所示。

    org.apache.derby derby 10.13.1.1  

您可以参考这篇文章 ,以获得完整的工作示例。

您不应将这些jar添加到JRE目录,也不应添加到服务器的lib目录。 真正的解决方案是将jar子捆绑到war文件中。 您应该考虑使用Ant或Maven等构建工具。 以下是使用Maven完成此操作的方法:

  1. 安装Maven(适用于Windows,遵循本教程: http : //www.mkyong.com/maven/how-to-install-maven-in-windows/ )
  2. 在项目的根目录下创建一个pom.xml。
  3. 将您的依赖项添加到pom(有关详细信息,请参阅http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html )
  4. 将阴影插件添加到您的pom(有关详细信息,请参阅http://maven.apache.org/plugins/maven-shade-plugin/examples/includes-excludes.html )
  5. 在项目上运行“mvn package”

这是一个示例pom.xml( 这可能不是一个function示例 ):

  4.0.0 com.mycompany.app my-app 1.0-SNAPSHOT jar   org.apache.derby derby 10.10.2.0      org.apache.maven.plugins maven-shade-plugin 2.3   package  shade   true        

通过在eclipse项目中将jar添加到构建路径,您可以在编译时使用derby驱动程序 。 但重要的是,当容器运行时,您也应该使它可用。 因此, 将jar文件复制到服务器lib目录中。

我有同样的问题(Windows 7,JDK 7,Eclipse Kepler),只是将C:\Program Files\Java\jdk1.7.0_25\db\lib到项目属性 – >运行/调试设置 – >类路径 – >用户条目 – >添加外部JAR并且它可以工作。