An EJB client JAR project contains all the class files that a client program needs to use the client view of the enterprise beans that are contained in the EJB module.
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.
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.
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 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.