我在Eclipse环境中有一些项目
MainApp(企业应用项目)“包含”
> WebController(EJB项目)
> WebModel(JPA项目)
> WebView(动态Web项目)
问题是把persistance.xml文件放在哪里?
获得例外:
java.lang.IllegalStateException:无法检索unitName DataModel的EntityManagerFactory
A persistence unit is defined by a
persistence.xml file. 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 environments,the root of a
persistence unit must be one of the
following:
- an EJB-JAR file
- the WEB-INF/classes directory of a WAR file[80]
- a jar file in the WEB-INF/lib directory of a WAR file
- a jar file in the EAR library directory
- an application client jar file
It is not required that an EJB-JAR or
WAR file containing a persistence unit
be packaged in an EAR unless the
persistence unit contains persistence
classes in addition to those contained
within the EJB-JAR or WAR. See Section
8.2.1.6.
如果您认为有必要,可以阅读本章的其余部分.在Eclipse中,这意味着您需要配置项目之间的依赖关系,以确保正确打包部署文件.您通常在Projects选项中的Project-> Properties-> Build Path中配置它.
但是,我不确定Eclipse是否按照Web服务器部署的要求对其进行打包.我知道它在EAR项目中有效.