Hibernate、JPA、および組み込みの Derby を使用して、非常に小さな JPA テスト アプリを組み立てようとしています。Derby から IllegalAccessError を取得しましたが、インターネット上で解決または使用可能な情報を見つけることができませんでした:
Exception in thread "main" java.lang.IllegalAccessError: tried to access method org.apache.derby.jdbc.EmbeddedDriver.boot()V from class org.apache.derby.jdbc.AutoloadedDriver
derby.jar 10.9.1.0 がクラスパスにあります。
Oracle XE インスタンス用に同様の persistence.xml を正常にセットアップしましたが、正常に動作します。
私はダービーネットワークサーバーを実行していません。ダービーのインストール手順に従い、インストールを確認しました。derby の「ij」コマンドライン ツールを使用してデータベース (「swift」という名前) を作成しました。
私はこの例外を理解することができません。
省略されたスタック トレース:
INFO: HHH000401: using driver [org.apache.derby.jdbc.EmbeddedDriver] at URL [jdbc:derby:localhost:1527/swift:create-true]
Sep 14, 2012 11:12:00 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000046: Connection properties: {user=swift, password=****, autocommit=true, release_mode=auto}
Exception in thread "main" java.lang.IllegalAccessError: tried to access method org.apache.derby.jdbc.EmbeddedDriver.boot()V from class org.apache.derby.jdbc.AutoloadedDriver
at org.apache.derby.jdbc.AutoloadedDriver.getDriverModule(Unknown Source)
at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
持続性.XML:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns /persistence/persistence_2_0.xsd">
<persistence-unit name="persistenceUnit">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.gdeb.swift.NIIN</class>
<class>com.gdeb.swift.RIC</class>
<properties>
<property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.EmbeddedDriver" />
<property name="hibernate.connection.url" value="jdbc:derby:/swift:create-true" />
<property name="hibernate.connection.username" value="swift" />
<property name="hibernate.connection.password" value="swift" />
</properties>
</persistence-unit>
</persistence>