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:39:03 UTC
[tomcat] 01/02: Adds "jakarta.annotation" to filter
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 10.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 8fc62c4a7b64843c26505bece0b0b4b8b06075e4
Author: Piotr P. Karwasz <pi...@karwasz.org>
AuthorDate: Fri Jan 28 09:33:04 2022 +0100
Adds "jakarta.annotation" to filter
Some users from mistakenly add `jakarta.annotation-api` to their
applications, which prevents Tomcat from finding @Resource and similar
annotations on the servlets.
To prevent this "jakarta.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 628d457..00e4fc3 100644
--- a/java/org/apache/catalina/loader/WebappClassLoaderBase.java
+++ b/java/org/apache/catalina/loader/WebappClassLoaderBase.java
@@ -2649,7 +2649,8 @@ public abstract class WebappClassLoaderBase extends URLClassLoader
if (name.startsWith("servlet.jsp.jstl.", 8)) {
return false;
}
- if (name.startsWith("el.", 8) ||
+ if (name.startsWith("annotation.", 8) ||
+ name.startsWith("el.", 8) ||
name.startsWith("servlet.", 8) ||
name.startsWith("websocket.", 8) ||
name.startsWith("security.auth.message.", 8)) {
@@ -2660,7 +2661,8 @@ public abstract class WebappClassLoaderBase extends URLClassLoader
if (name.startsWith("servlet/jsp/jstl/", 8)) {
return false;
}
- if (name.startsWith("el/", 8) ||
+ if (name.startsWith("annotation/", 8) ||
+ name.startsWith("el/", 8) ||
name.startsWith("servlet/", 8) ||
name.startsWith("websocket/", 8) ||
name.startsWith("security/auth/message/", 8)) {
diff --git a/test/org/apache/catalina/loader/TestWebappClassLoader.java b/test/org/apache/catalina/loader/TestWebappClassLoader.java
index d320984..11b53ab 100644
--- a/test/org/apache/catalina/loader/TestWebappClassLoader.java
+++ b/test/org/apache/catalina/loader/TestWebappClassLoader.java
@@ -99,6 +99,7 @@ public class TestWebappClassLoader extends TomcatBaseTest {
"org.apache.juli",
"org.apache.naming",
"org.apache.tomcat",
+ "jakarta.annotation",
"jakarta.el",
"jakarta.servlet",
"jakarta.websocket",
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org