0

すべての Java クラスを含む UberJar を持っていますが、この jar を外部の persistence.xml ファイルで実行したいと考えています。仕様によると、Hibernate (またはその他の JPA プロバイダー) は、クラスパスにある META-INF フォルダー内の persistence.xml ファイルを探しますが、これを UberJar で機能させることはできませんでした。何か案は?UberJar のクラスローダーは、jar ファイルの内容に制限されていますか?

4

2 に答える 2

1

-jarコマンドライン オプションから:

"-jar"このオプションを使用すると、JAR ファイルがすべてのユーザー クラスのソースとなり、他のユーザー クラス パス設定は無視されます。

したがって、直接的な答えはノーのようです。

通常の Java クラスパス (persistence.xml を含む) を使用する独自のブートストラップ クラスを記述してから、UberJar をブートストラップすることができますが、これを回避するために UberJar を使用している可能性があります...

于 2008-10-08T10:57:44.207 に答える
0

これをどのように解決したかを追跡するために、persistence.xml ファイルと jar をクラスパスに追加し、メイン クラスを指定しました。また、アーカイブされていないクラスがパスに残っていたため、jar 設定がオーバーライドされました。

于 2008-10-08T23:39:48.240 に答える