On 04/15/2015 11:56 PM, Nick Boldt wrote:
Just wondering if anyone knows WHY we include javax.servlet 3.0.0 and 
3.1.0 in JBDS.
More importantly... SHOULD we be including both? Or can we just include 
3.1.0 and drop 3.0.0?
I have JBDS installed from installer, which basically ran a p2 director. And I get jetty 3.0.0 and jetty 3.1.0. Than means that while resolving what to installed, p2 has to keep both versions of javax.servlet. That's definitely a sign that our dependency chain currently need both (or p2 wouldn't have installed both).

So I've tried the ultimate test:
$ cd jbdevstudio-9.0.0.Alpha2/studio
$ rm plugins/javax.servlet_3.0.0*
$ ./jbdevstudio
And saw

!ENTRY org.jboss.tools.ws.ui 4 0 2015-04-16 10:35:49.110
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.jboss.tools.ws.ui [967]
  Unresolved requirement: Import-Package: javax.servlet; version="[2.4.0,3.0.0)"

    at org.eclipse.osgi.container.Module.start(Module.java:434)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)


Fun thing is that the javax.servlet_3.0.0 actually exports packages in version 2.6.0, whereas javax.servlet_3.1.0 exports them in version 3.1.0.

I've put that in a Jira https://issues.jboss.org/browse/JBIDE-19605
--
Mickael Istria
Eclipse developer at JBoss, by Red Hat
My blog - My Tweets