The WebSphere ejbdeploy command behavior has changed in WebSphere traditional V8.5.5 and V9.0. The behavior change depends on the fixpack version of WebSphere you are migrating to.
EJBDeploy was deprecated in 2018 and is no longer required for ejb versions 1.x, 2.x session and message-driven beans. Ejb modules that don't contain entity beans may now skip using EJBDeploy and will then automatically use just-in-time (JIT) deployment to dynamically generate deployment code. The default behavior of application install will still use EJBDeploy. Although EJBDeploy is no longer required for session and message-driven beans, it is still supported for all bean types. Nothing has been removed, EJBDeploy is now optional. For entity beans, EJBDeploy is still required.
EJBDeploy may be removed in later versions.
Note: If any session beans have remote interfaces they will need to use RMIC or createEJBStubs to generate the Stub classes. Previously, EJBDeploy would have done that for the session beans.
Prior to WebSphere traditional V8.5.5.14, EJBDeploy was not supported on Java 8. If you are migrating to WebSphere 8.5.5.14 or later, a fix is automatically included that enables Java 8 support for EJBDeploy and no further action is required when using EJBDeploy.
Note that enabling ejbdeploy Java 8 support will disable the ability to run the ejbdeploy command with Java 6.
For fixes available for later fixpacks, check the IBM Support page Recommended updates for WebSphere Application Server.
When migrating to WebSphere V8.5.5 with Java 8, an ejb-jar.xml with version 2.1 or lower is flagged because the ejbdeploy command will not run with Java 8 for WebSphere V8.5.5.13 and earlier. The fix for enabling Java 8 support for EJBDeploy must be applied manually. For more information on this fix, see PI73197:Enable Java 8 Support for EJBDeploy on WebSphere Application Server.
For more information, see EJBDEPLOY relationships – troubleshooting tips.