EAR文件和“WebSphere Enhanced EAR”之间有什么区别?

假设我有一个标准的EAR文件(以及用于生成它的源文件),需要进行哪些额外的处理才能将其转换为IBM WebSphere“Enhanced EAR”?

提出这个问题的另一种方法是问:“增强型EAR和标准EAR之间有什么区别?”

我非常清楚Rational开发工具(RAD和RSA)中有工具。但是,出于这个问题的目的,我需要在自动构建中完成相同的任务(通过Ant或Maven)。

提出这个问题的另一种方法是问:“增强型EAR和标准EAR之间有什么区别?”

增强型EAR是一个EAR,其中一些XML文件添加到META-INF目录,以在应用程序,服务器或单元级别配置特定资源(有关此更多详细信息,请参阅IBM红皮书WebSphere Application Server V7:打包部署应用程序 )。

J2EE Packaging,Enhanced EAR和Application Server Toolkit (pdf)的表23-1列出了这些文件:

alt text http://img46.imageshack.us/img46/6751/table231.png

位于META-INF目录下的文件,将它们嵌入Ant或Maven的标准EAR中应该非常简单,只需在打包前将它们放入META-INF即可。

如果你必须从头开始生成这些文件(这对IMHO来说没有意义),那么它真的是另一个故事,我不确定这些文件的结构是否公开可用。

说真的,如果要使用该function,请找到一种从WebSphere Enhanced EAR编辑器生成文件的方法。 也许得到RAD的试用版来评估这个function> :)或者联系IBM,我相信他们会乐意你卖东西,甚至是单一的许可证。

更新: IBM提供了WebSphere的Ant Tasks ,您也可以使用antrun插件从Maven中使用它(这似乎是首选方式)但我不认为wsDefaultBindings正是您正在寻找的,默认IBM WebSphere Bindings不要提供与增强型EAR相同的function – 但它们可能有用且足够。 以防万一,如果你决定使用wsadmin任务而不是增强型EAR,这里有一个选项列表 。

从他们的文档:

您在此编辑器中指定的服务器配置数据将嵌入到应用程序本身中。

听起来他们将通常通过管理控制台添加的内容(例如,JNDI用于数据源和消息传递,JAAS用于安全性)嵌入到EAR本身中,以实现服务器之间更大的可移植性。

您可以使用wsDefaultBindings Ant任务使用所需的部署信息填充EAR。 这里有示例脚本。