  ------
  Specifying Security Roles For The Generated application.xml
  ------
  Stephane Nicoll
  <snicoll@apache.org>
  ------
  August 27, 2017

~~ Copyright 2006 The Apache Software Foundation.
~~
~~ Licensed under the Apache License, Version 2.0 (the "License");
~~ you may not use this file except in compliance with the License.
~~ You may obtain a copy of the License at
~~
~~      http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing, software
~~ distributed under the License is distributed on an "AS IS" BASIS,
~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~~ See the License for the specific language governing permissions and
~~ limitations under the License.

~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/doxia/references/apt-format.html


Specifying Environment entries For The Generated application.xml

  Environment entries can be added as from the JavaEE 6 spec. For instance:

+--------
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-ear-plugin</artifactId>
        <version>${project.version}</version>
        <configuration>
           [...]
           <version>6</version>
           [...]
           <env-entries>
             <env-entry>
               <description>A complete entry.</description>
               <env-entry-name>complete</env-entry-name>
               <env-entry-type>java.lang.Integer</env-entry-type>
               <env-entry-value>4</env-entry-value>
               <lookup-name>java:global/Example</lookup-name>
             </env-entry>
             <env-entry>
               <env-entry-name>no-type</env-entry-name>
               <env-entry-value>4</env-entry-value>
             </env-entry>
             <env-entry>
               <env-entry-name>no-value</env-entry-name>
               <env-entry-type>java.lang.String</env-entry-type>
             </env-entry>
           </env-entries>
        </configuration>
      </plugin>
    </plugins>
  </build>
+---------
