У меня есть проект, где я использую 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 в качестве сервера приложений.