### Description of problem: Annotation must be scanned regardless of the version of web.xml unless metadata-complete is explicitly set to true. Note that Servlet 3.0 specification clearly states the following: ~~~ 1.6.2 Processing annotations In Servlet 2.5, metadata-complete only affected the scanning of annotations at deployment time. The notion of web-fragments did not exist in servlet 2.5. However in servlet 3.0 metadata-complete affects scanning of all annotations and web- fragments at deployment time. The version of the descriptor MUST not affect which annotations you scan for in a web application. An implementation of a particular version of the specification MUST scan for all annotations supported in that configuration, unless metadata-complete is specified. ~~~ ### How reproducible: Anytime ### Steps to Reproduce: 1. Create a library jar which contains a servlet filter using @WebFilter 2. Put the jar under WEB-INF/lib of the web application which web.xml version is 2.3 or 2.4 3. Start JBoss EAP 6 4. Access the web application and see if the servlet filter works ### Actual results: The servlet filter is not invoked ### Expected results: The servlet filter is invoked ### Additional info: It works when the version of web.xml is 2.5 or 3.0
PR: https://github.com/jbossas/jboss-eap/pull/2468
Verified with EAP 6.4.6.CP.CR2
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.