Generating an EJB client
Normally a thick-client application would only need the stubs and utility classes of the EJB project. The EJB Plugin is capable of generating an EJB JAR for client use.
To generate the ejb-client JAR, you need to set generateClient
to true
in the plugin's configuration:
<project> [...] <build> [...] <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-ejb-plugin</artifactId> <version>3.2.1</version> <configuration> <!-- this is false by default --> <generateClient>true</generateClient> </configuration> </plugin> </plugins> [...] </build> [...] </project>
Client inclusions and exclusions
The content of the ejb-client archive can also be customized using inclusions and exclusions.
Default Exclusions:
**/*Bean.class
**/*CMP.class
**/*Session.class
**/package.html
To customize this, use the clientExcludes
and clientIncludes
elements:
<project> [...] <build> [...] <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-ejb-plugin</artifactId> <version>3.2.1</version> <configuration> <clientIncludes> <!-- this will include all files and directories under com/foo/bar --> <clientInclude>com/foo/bar/**</clientInclude> <!-- this will include all files and directories under com/foo/acme --> <clientInclude>com/foo/acme/**</clientInclude> <!-- this will include all files under com/example --> <clientInclude>com/example/*</clientInclude> </clientIncludes> <clientExcludes> <!-- this will exclude all files under com/example --> <clientExclude>com/example/*</clientExclude> <!-- this will exclude all files and directories with the name sparrow under com/jack --> <clientExclude>com/jack/**/sparrow</clientExclude> </clientExcludes> </configuration> </plugin> </plugins> [...] </build> [...] </project>
Note: Be careful when mixing excludes and includes, excludes will have a higher priority than includes.