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。 这里有示例脚本。
- 使用Ant时java.security.AccessControlException,但从控制台调用java时运行正常
- 运行ant build会出现“package org.junit不存在”
- URLConnection FileNotFoundException用于非标准HTTP端口源
- 通过ant构建脚本将命令行参数传递给Java
- Ant使用的Java版本低于系统的Java版本
- 开始使用maven
- 配置ant以运行unit testing。 图书馆应该在哪里? 应该如何配置classpath? 避免ZipException
- 什么是JAR文件的正确内部结构
- ant目标将战争部署到tomcat7 / webapps