我有一个包含许多ejb-module的项目,每个都有自己的ejb-jar.xml。 所有这些模块都包装在一个耳中。 我需要将我的部署描述符集中在一个文件中, 我可以使用application.xml来解决这个问题吗?我可以在耳边使用ejb-jar.xml吗?还是有其他解决方案?
答案 0 :(得分:0)
不,不在EAR中。每个带有EJB的jar都是他自己独立的模块。如果您无法通过注释描述您想要描述的所有内容,那么请使用ejb-jar.xml文件并将其放入包含bean的jar文件的神圣META-INF目录中。 application.xml文件主要用于描述整个应用程序的真实情况,环境条目是一件可以立即想到的事情。模块的分离和ejb-jar.xml的分离也将命名空间分开,使您可以使用相同的名称定义多个bean和环境条目,而不会发生任何冲突。
如果您不需要这种模块化,那么您可以将所有内容打包到WAR文件中,并且只为应用程序使用一个ejb-jar.xml文件,放在WEB-INF目录中。实际上,您是否首先将bean与一个ejb-jar.xml文件打包在一个jar文件中,该文件将放入WAR文件中名为lib的子目录中,然后这些描述符(XML文件)将被忽略。