This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/7.0.x by this push:
new 1d05f3f Fix JarScanner for Java9 onwards
1d05f3f is described below
commit 1d05f3f5d73a50e817e987f43c6c829d521732b1
Author: Mark Thomas <[email protected]>
AuthorDate: Wed Mar 20 22:19:16 2019 +0000
Fix JarScanner for Java9 onwards
Ensure that the JarScanner correctly tests whether JARs found on the
class path should be skipped when running on Java 9 or later.
---
java/org/apache/tomcat/util/scan/StandardJarScanner.java | 10 +++++++++-
webapps/docs/changelog.xml | 4 ++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/java/org/apache/tomcat/util/scan/StandardJarScanner.java
b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
index 696d618..b27f40b 100644
--- a/java/org/apache/tomcat/util/scan/StandardJarScanner.java
+++ b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
@@ -259,9 +259,17 @@ public class StandardJarScanner implements JarScanner {
// Process URLs
for (URL url : urls) {
if (!processedURLs.contains(url)) {
+ // Avoid duplicates
+ processedURLs.add(url);
+
+ // Extract the jarName if there is one to be found
+ String jarName = getJarName(url);
+ if (jarName != null && Matcher.matchName(ignoredJars,
jarName)) {
+ continue;
+ }
+
try {
process(callback, url);
- processedURLs.add(url);
} catch (IOException ioe) {
log.warn(sm.getString("jarScan.classloaderFail",url),
ioe);
}
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 1750e84..e491b0b 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -111,6 +111,10 @@
href="https://bugs.openjdk.java.net/browse/JDK-8194653">JDK-8194653</a>)
that may cause a dead-lock when Tomcat starts. (markt)
</fix>
+ <fix>
+ Ensure that the JarScanner correctly tests whether JARs found on the
+ class path should be skipped when running on Java 9 or later. (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Coyote">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]