I see many Java packages have api, impl and bundle jars (name-api.jar, name-impl.jar, name-bundle.jar). Could someone explain what those mean? Are all three needed by the ap
api.jar
contains API interfaces. These are interfaces as a contract that the implementation of the API should follow.
impl.jar
is the implementation of the api.jar
. You can't just have the impl.jar
without the api.jar
.
bundle.jar
is the resources (if I'm not mistaken). Those are resources needed for the implementation code necessary to run.