With the EJB tooling, you can create an EJB project with a corresponding EJB client JAR project. The EJB project will depend on the EJB client JAR project. The EJB client JAR project contains all necessary classes for a client of the enterprise beans, including all interface classes, key classes, and supporting classes. Because these classes are not duplicated in the EJB project, the EJB project depends on its EJB client JAR project. Any project that has a reference to an enterprise bean in the EJB project will need a reference to the EJB client JAR project. If the EJB client JAR project is in another enterprise application, the EJB client JAR file must be added to the referencing EAR file as a utility JAR file. Use the Java™ JAR dependencies editor to update dependencies. Best practice is to only create references to the EJB project for backwards compatibility. See Specifying dependent JAR files or modules for more information.
After the EJB client JAR project is created, it is up to you to add any necessary value objects to this project that are needed by the home or component interfaces. If the objects are not present, compilation errors will result. However, any changes that you make to home and component interfaces, as well as the key classes, by using the deployment descriptor editor will be appropriately reflected in the EJB client JAR project.
EJB client JAR files
When you create an EJB client JAR project for an EJB project, the EJB client JAR file is added to the containing enterprise application as a project utility JAR. The EJB Client project appears in the J2EE perspective's Project Explorer. The reference to this EJB client JAR file cannot be removed from the enterprise application as long as the EJB project is defined as a module for the application.