netbeans6.9.1 在jboss5.1.0.GA中部署(1)ear配置文件
在部署中发现和解决的问题,记录在这里,呵呵,便于查询。
1、环境
netbeans6.9.1
javaee5.0
jboss5.1.0.GA
2、打包
打包成ear
3、说明
app.jar:EJB代码和描述符
app.war:web应用程序,它提供前端界面来让用户和商业组件(EJB)进行交互。sfejb3/view目录中包含的web源码不经修改地加入到了这个归档文件。Ant任务也添加了WEB-INF目录,它包含不直接通过web浏览器访问却也是应用程序一部分的文件。它包含了部署描述符(web.xml)和web引用程序所需要的额外的jar文件。
jsfejb3.ear:此文件是完整的应用程序,包含EJB模块和web模块。它还包含一个其它的描述符:application.xml。你也可能单独部署EJB和web模块,但是EAR提供了方便的单一方法。
4、EAR文件的内容应该类似于:
jsfejb3.ear |+ app.jar // contains the EJB code |+ import.sql |+ Todo.class |+ TodoDao.class |+ TodoDaoInt.class |+ META-INF |+ persistence.xml |+ app.war // contains web UI |+ index.html |+ index.xhtml |+ create.xhtml |+ edit.xhtml |+ todos.xhtml |+ TodoBean.class |+ style.css |+ META-INF |+ WEB-INF |+ faces-config.xml |+ navigation.xml |+ web.xml |+ META-INF // contains the descriptors |+ application.xml |+ jboss-app.xml
5、application.xml
这个文件列出在EAR中的JAR文件(这里是app.jar),并告诉JBoss服务器该在哪寻找那些文件。应用程序的根URL也由此文件中的“context-root”指定。
<application> <display-name>Sample Todo</display-name> <module> <web> <web-uri>app.war</web-uri> <context-root>/jsfejb3</context-root> </web> </module> <module> <ejb>app.jar</ejb> </module> </application>
注:这个文件可以在netbeansIDE工具-企业应用项目-右键-新建-标准部署描述符自动生成。
6、JBoss-app.xml
每个EAR的应用程序应为类加载器指定唯一的字符串。在这里,我们使用应用程序名“jsfejb3”作为类加载器的名称
<jboss-app> <loader-repository> jsfejb3:archive=jsfejb3.ear //jsfejb3:,这个可以任意取名 </loader-repository> </jboss-app>
7、app.jar
它包含了EJB3SessionBean和EntityBean类以及相关的配置文件。此外,persistence.xml文件为EntityManager配置了后台数据源(在这里是缺省的HSQL数据库)。
<persistence> <persistence-unit name="helloworld"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:/DefaultDS</jta-data-source> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> </properties> </persistence-unit> </persistence>
8、app.war
它包含了按照WebApplicationaRchive(WAR)打包的WebUI文件。它包含所有的Web页面和必须的配置文件。对于所有的JavaEE应用程序来说,web.xml是一个非常重要的文件。它是Web部署描述符文件。faces-config.xml文件是JSF配置文件。navigation.xml包含了JSF页面导航的规则。
//faces-config.xml <faces-config> <application> <view-handler> com.sun.facelets.FaceletViewHandler </view-handler> </application> <managed-bean> <description>Dao</description> <managed-bean-name>todoBean</managed-bean-name> <managed-bean-class>TodoBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> </faces-config>
(待续)