Community
Participate
Working Groups
Build Identifier: Juno M5 Servlet 3.0 adds some new packages, namely javax.servlet.annotation and javax.servlet.descriptor and removes javax.servlet.resources. As of this time the ServletBridge FrameworkLauncher doesn't add these packages to the extensions bundles export header. This causes all sorts of problems: - the new org.apache.jasper.glassfish 2.2.2 bundle will not resolve, as it needs javax.servlet.descriptor. - you can work around this by including javax.servlet_3.0.0 bundle in plugins directory, but this will give you other problems later on (mixing servlet classes from the outside classloader and the javax.servlet bundle doesn't seem to be such a great idea). - I ran into this issue while trying to get Infocenter running on Tomcat 7/JBoss 7. It seems to me that this is the root cause for many of these issues. The FrameworkLauncher should check the servlet version of the container and add these packages if applicable. Reproducible: Always
Created attachment 210768 [details] Proposed patch (Git format) attached proposed patch. Pretty straight forward.
Thanks Phillip, I agree it makes sense to change the generated package exports based on javax.servlet version.
Hi Simon, If you are looking for a test scenario, please see bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=363009. That's what brought me here in the first place...
(In reply to comment #1) > Created attachment 210768 [details] > Proposed patch (Git format) > > attached proposed patch. Pretty straight forward. The attachment appears to be some binary file. Can you double check it? I also think we need to be aware of the package version we export from the extension bundle for Servlet spec 3.0. I think it should use the package version of 2.6 (see bug 360245).
Created attachment 210797 [details] The patched FrameworkLauncher.java It was a zipped up patch in git format, but somehow it seems to be broken. Anyhow, here is simply the modified Java class.
Created attachment 210800 [details] patch #2 (#1 was missing javax.servlet.resources in servlet 3.0 case)
(In reply to comment #6) > Created attachment 210800 [details] > patch #2 (#1 was missing javax.servlet.resources in servlet 3.0 case) I released this patch in commit: http://git.eclipse.org/c/equinox/rt.equinox.bundles.git/commit/?id=246fe89571124060a02b2249cd52342b34472501 Thanks Philipp! I also released a follow on fix to correct the package versions when running on servlet spec version 3.0. The package versions should be 2.6 in this case: http://git.eclipse.org/c/equinox/rt.equinox.bundles.git/commit/?id=74409a62535822fdb24a34e12ddb59913343f23b Philip and Simon please review the commits above.
Looking good, I also tested the new JAR with my test project from bug #363009 and it's working as expected :-) Thanks!