The ultimate solution would be to use a completely isolated classloader for plugins and plugin dependencies so that plugins would even be able to package different versions of libraries that are also used by Forge. Running Forge in an OSGi container seems to be the obvious solution. I'm no OSGi expert though, so I can't really see the consequences. No idea if Weld still works within OSGi bundles for example, but it's something to consider. Besides OSGi there's the module system that's part of AS7, maybe that's another option.

Paul

On Mon, Apr 11, 2011 at 4:00 PM, Lincoln Baxter, III <lincolnbaxter@gmail.com> wrote:
Yeah, shading is currently the recommended approach. Conflicts should be avoided by using relocations. I know this is... not a great method, but for now it's all we've got. Open to suggestions.

~Lincoln


On Mon, Apr 11, 2011 at 3:41 AM, Max Rydahl Andersen <max.andersen@redhat.com> wrote:
Heya,

Lincoln, I just saw your commits to hibernattools plugin at (https://github.com/forge/plugin-hibernate-tools/commit/8b208b4a8e79dbb8a01d10d266ee81afd2cf7106)

Is shading of jars really the recommended approach for plugins in Forge ?

How are you going to share/avoid collisions of libraries across plugins if they need to bundle via shading ?

/max
http://about.me/maxandersen




_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev



--
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"

_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev