java.lang.ClassNotFoundException: org.apache.derby.jdbc.ClientDriver, микропрофиль Apache Derby Payara Micro

У меня есть проект, где я использую postgresql в качестве СУБД. Здесь все работает просто отлично. Теперь я хочу использовать Дерби. В файле persistence.xml я связал источник данных.

<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence
<data-source>
    <name>java:global/ExampleDataSource</name>
    <class-name>org.apache.derby.jdbc.ClientDriver</class-name>
    <server-name>localhost</server-name>
    <port-number>1527</port-number>
    <url>jdbc:derby://localhost:1527/homeimprovement</url>
</data-source>
1.xsd"> <persistence-unit name="pu" transaction-type="JTA"> <jta-data-source>java:global/ExampleDataSource</jta-data-source> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> </properties> </persistence-unit>

Источник данных настраивается в файле web.xml:

<data-source>
    <name>java:global/ExampleDataSource</name>
    <class-name>org.apache.derby.jdbc.ClientDriver</class-name>
    <server-name>localhost</server-name>
    <port-number>1527</port-number>
    <url>jdbc:derby://localhost:1527/homeimprovement</url>
</data-source>

Когда я запускаю проект (Payara Micro 5.2020.2), я получаю следующее сообщение об ошибке:

java.lang.ClassNotFoundException: org.apache.derby.jdbc.ClientDriver
Cause: Class name is wrong or classpath is not set for : org.apache.derby.jdbc.ClientDriver

Мой pom.xml выглядит следующим образом:

<dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derby</artifactId>
        <version>10.15.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derbyclient</artifactId>
        <version>10.15.2.0</version>
</dependency>

С org.postgresql.ds.PGSimpleDataSource для использования Postgresql проект работал. Но теперь я получаю сообщение об ошибке. Я использую NetBeans, Microprofile и Payara Micro в качестве сервера приложений.


person softwareUser    schedule 01.02.2021    source источник
comment
Для Derby 10.15+ вам нужны разные банки в вашем CLASSPATH. См. этот ответ: stackoverflow.com/a/58571876/193453   -  person Bryan Pendleton    schedule 01.02.2021