The βcurrentβ method is WAR files that have nothing in common. If you have three web applications and all of them use commons-lang, you need to deploy three copies of the same jar file (you may be right that this is not a problem for most people).
In addition to this, OSGi deploys packages, not applications. This allows you to update or activate parts of the application at runtime. Not sure if this is important to many people. In fact, the lack of "granularity of applications" leads to the fact that a large number of "moving parts" are visible in the form of all the packages that make up the application. It scares people deploying. OSGi is working to fix this.
Finally, in OSGi, container functionality is also often part of the application suite of packages (unlike a black box such as JBoss, which is clearly separate from the application code). Bring your own container. Very flexible, but again confusing for people with deployment.
Thilo source share