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

Kry*_*ski 5 java derby java-ee

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

Har*_*hna 7

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

    <!-- https://mvnrepository.com/artifact/org.apache.derby/derby -->
    <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derby</artifactId>
        <version>10.13.1.1</version>
        <scope>test</scope>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

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

    <!-- https://mvnrepository.com/artifact/org.apache.derby/derby -->
    <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derby</artifactId>
        <version>10.13.1.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

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


Nar*_*oni 2

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

  • 添加到 jre 目录不是正确的解决方案。将任何 jar 放在 JRE 目录中并不是一个好习惯...您需要将其包含在类路径中或将所需的 jar 打包到项目中。 (2认同)