You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2022/02/07 20:53:30 UTC
[tomcat] 01/02: Adds "javax.annotation" to filter
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit cba2970e726e72b1aeccd897b3f774bb00023681
Author: Piotr P. Karwasz <pi...@karwasz.org>
AuthorDate: Fri Jan 28 09:33:04 2022 +0100
Adds "javax.annotation" to filter
Some users from mistakenly add `javax.annotation-api` to their
applications, which prevents Tomcat from finding @Resource and similar
annotations on the servlets.
To prevent this "javax.annotation" should also be always loaded from
the common classloader.
---
java/org/apache/catalina/loader/WebappClassLoaderBase.java | 6 ++++--
test/org/apache/catalina/loader/TestWebappClassLoader.java | 1 +
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/java/org/apache/catalina/loader/WebappClassLoaderBase.java b/java/org/apache/catalina/loader/WebappClassLoaderBase.java
index 548fabe..76a53b7 100644
--- a/java/org/apache/catalina/loader/WebappClassLoaderBase.java
+++ b/java/org/apache/catalina/loader/WebappClassLoaderBase.java
@@ -2611,7 +2611,8 @@ public abstract class WebappClassLoaderBase extends URLClassLoader
if (name.startsWith("servlet.jsp.jstl.", 6)) {
return false;
}
- if (name.startsWith("el.", 6) ||
+ if (name.startsWith("annotation.", 6) ||
+ name.startsWith("el.", 6) ||
name.startsWith("servlet.", 6) ||
name.startsWith("websocket.", 6) ||
name.startsWith("security.auth.message.", 6)) {
@@ -2622,7 +2623,8 @@ public abstract class WebappClassLoaderBase extends URLClassLoader
if (name.startsWith("servlet/jsp/jstl/", 6)) {
return false;
}
- if (name.startsWith("el/", 6) ||
+ if (name.startsWith("annotation/", 6) ||
+ name.startsWith("el/", 6) ||
name.startsWith("servlet/", 6) ||
name.startsWith("websocket/", 6) ||
name.startsWith("security/auth/message/", 6)) {
diff --git a/test/org/apache/catalina/loader/TestWebappClassLoader.java b/test/org/apache/catalina/loader/TestWebappClassLoader.java
index a81d4c6..b4c2b87 100644
--- a/test/org/apache/catalina/loader/TestWebappClassLoader.java
+++ b/test/org/apache/catalina/loader/TestWebappClassLoader.java
@@ -98,6 +98,7 @@ public class TestWebappClassLoader extends TomcatBaseTest {
"org.apache.juli",
"org.apache.naming",
"org.apache.tomcat",
+ "javax.annotation",
"javax.el",
"javax.servlet",
"javax.websocket",
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org