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>

(待续)

相关推荐