Enterprise Java Development@TOPIC@

Chapter 89. WAR Deployment

89.1. WAR Artifact
89.1.1. WEB-INF/jboss-web.xml
89.2. WAR-based EJB Deployment
89.3. Maven Aspects: WAR
89.3.1. WAR Module Build
89.3.2. IT Test Module
89.4. Summary
`-- WEB-INF
`-- WEB-INF
    |-- classes
    |   `-- info
    |       `-- ejava
    |           `-- examples
    |               `-- ejb
    |                   `-- basic
    |                       `-- webejb
    |                           `-- WebGreeterEJB.class
    |-- jboss-web.xml
    `-- lib
        `-- ejb-basic-ejb-4.0.0-SNAPSHOT.jar

WARs may host

20:47:51,929 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] 
(MSC service thread 1-2) JNDI bindings for session bean named GreeterEJB in deployment unit deployment "ejb-basic-war.war" are as follows:

        java:global/ejb-basic-war/GreeterEJB!info.ejava.examples.ejb.basic.ejb.GreeterRemote
        java:app/ejb-basic-war/GreeterEJB!info.ejava.examples.ejb.basic.ejb.GreeterRemote
        java:module/GreeterEJB!info.ejava.examples.ejb.basic.ejb.GreeterRemote
        java:jboss/exported/ejb-basic-war/GreeterEJB!info.ejava.examples.ejb.basic.ejb.GreeterRemote
        java:global/ejb-basic-war/GreeterEJB
        java:app/ejb-basic-war/GreeterEJB
        java:module/GreeterEJB

20:47:51,970 INFO  [org.jboss.weld.deployer] (MSC service thread 1-2) JBAS016005: Starting Services for CDI deployment: ejb-basic-war.war
20:47:51,988 INFO  [org.jboss.weld.deployer] (MSC service thread 1-1) JBAS016008: Starting weld service for deployment ejb-basic-war.war
20:47:52,353 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017534: Registered web context: /ejb-basic-war

<project>
    <groupId>info.ejava.examples.ejb.basicejb</groupId>
    <artifactId>ejb-basic-war</artifactId>
    <packaging>war</packaging>

    <dependencies>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ejb-basic-ejb</artifactId>
            <version>${project.version}</version>
            <type>ejb</type>
            <scope>compile</scope>
        </dependency>     
    </dependencies>

    <build>
        <finalName>ejb-basic-war</finalName>
    </build>
</project>

Support for embedded EJB development will require standard POJO and EJB dependencies


        <!-- for embedded code/EJBs -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.ejb</groupId>
            <artifactId>javax.ejb-api</artifactId>
            <scope>provided</scope>
        </dependency>