Changes Nathan Coast Added new maven.ejb.build.dir property that specifies the location where the EJBs are generated. Modified existing maven.ejb.final.name property (and exposed it as a public property) so that it doesn't include the path (the path is now provided by the new maven.ejb.build.dir property). This allows aligning the WAR and EJB plugin properties. Note: This is a breaking change for all those using the maven.ejb.final.name property (which was not a public property). Made the maven.ejb.final.name property public as it is required by several other plugins and before this change the only way is for these plugins was to call the non-public ejb:init goal. Replace Apache Jakarta Maven by Apache Maven in Manifest Add ejb:install-client and ejb:deploy-client goals. Don't generate a Class-Path manfiest entry if there are no jars with ejb.manifest.classpath set to true Only include maven.ejb.src if it exists Synchronize ejb and jar plugin usage of: Specification-Title/Vendor/Version and Implementation-Title/Vendor/Version Added maven.ejb.index, maven.ejb.client.index properties. Added maven.ejb.excludes and maven.ejb.includes properties. Added deploy, deploy-snapshot and install-snapshot goals Artifact processing in the plugin was slightly changed and now it supports jar overriding mechanism property ejb.bundle.jar was renamed to ejb.bundle (old property is still supported, but deprecated) Initial plugin created