Two Meta-Inf folders - normal structure?

╄→尐↘猪︶ㄣ 提交于 2019-12-21 05:09:17

问题


I just "discovered" that we have two Meta-Inf folders ... In eclipse and also in the War file.

The First one is (in the war):

/META-INF/

The Second, and weird one ist:

/WEB-INF/classes/META-INF/

In the second folder is a persistance.xml and a something.taglib.xml...

If i move the files into the first meta-inf folder i get exceptions from hibernate..

What is the purpose of this second and oddly placed meta-inf folder ?

Is this a normal folder structure ?


回答1:


The "weird one" location is correct; JSR-220/JSR-317 (Java Persistence API 1.0/2.0) in section 6.2/8.2 say:

The jar file or directory whose META-INF directory contains the persistence.xml file is termed the root of the persistence unit. In Java EE, the root of a persistence unit may be one of the following:

  • an EJB-JAR file
  • the WEB-INF/classes directory of a WAR file
  • a jar file in the WEB-INF/lib directory of a WAR file
  • a jar file in the root of the EAR*
  • a jar file in the EAR library directory
  • an application client jar file.

*) Only valid for JPA 1.0

So, directly in a WAR file, the only correct location is WEB-INF/classes/META-INF/.



来源:https://stackoverflow.com/questions/13238615/two-meta-inf-folders-normal-structure

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!