6

2 つの Meta-Inf フォルダーがあることを「発見」しました... Eclipse と War ファイルにあります。

最初のものは(戦争中):

/META-INF/

2番目の奇妙なものは次のとおりです。

/WEB-INF/classes/META-INF/

2 番目のフォルダーには、persistance.xml と something.taglib.xml があります...

ファイルを最初の meta-inf フォルダーに移動すると、休止状態から例外が発生します。

この 2 番目の奇妙に配置された meta-inf フォルダーの目的は何ですか?

これは通常のフォルダ構造ですか?

4

1 に答える 1

7

「奇妙な」場所は正しいです。セクション6.2/8.2のJSR-220/JSR-317(Java Persistence API 1.0 / 2.0)は次のように述べています。

META-INFディレクトリにpersistence.xmlファイルが含まれているjarファイルまたはディレクトリは、永続性ユニットのルートと呼ばれます。Java EEでは、永続性ユニットのルートは次のいずれかになります。

  • EJB-JARファイル
  • WARファイルのWEB-INF/classesディレクトリ
  • WARファイルのWEB-INF/libディレクトリにあるjarファイル
  • EARのルートにあるjarファイル*
  • EARライブラリディレクトリのjarファイル
  • アプリケーションクライアントのjarファイル。

*)JPA1.0でのみ有効

したがって、 WARファイルで直接、正しい場所は。だけですWEB-INF/classes/META-INF/

于 2012-11-05T22:28:09.417 に答える