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 2021/07/28 12:07:56 UTC
[tomcat] branch main updated: Remove use of JreCompat as it is not
required with Java 11+
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push:
new 838decd Remove use of JreCompat as it is not required with Java 11+
838decd is described below
commit 838decd611170bb55810dc948f2be9091c27da7c
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Jul 28 13:07:46 2021 +0100
Remove use of JreCompat as it is not required with Java 11+
---
.../tomcat/util/compat/LocalStrings.properties | 1 -
.../tomcat/util/compat/LocalStrings_es.properties | 2 --
.../tomcat/util/compat/LocalStrings_fr.properties | 1 -
.../tomcat/util/compat/LocalStrings_ja.properties | 1 -
.../tomcat/util/compat/LocalStrings_ko.properties | 1 -
.../util/compat/LocalStrings_zh_CN.properties | 1 -
.../tomcat/util/scan/LocalStrings.properties | 1 +
.../tomcat/util/scan/LocalStrings_es.properties | 1 +
.../tomcat/util/scan/LocalStrings_fr.properties | 1 +
.../tomcat/util/scan/LocalStrings_ja.properties | 1 +
.../tomcat/util/scan/LocalStrings_ko.properties | 1 +
.../tomcat/util/scan/LocalStrings_zh_CN.properties | 1 +
.../tomcat/util/scan/StandardJarScanner.java | 28 +++++++++++++++-------
13 files changed, 25 insertions(+), 16 deletions(-)
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings.properties b/java/org/apache/tomcat/util/compat/LocalStrings.properties
index 8b55643..4286723 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings.properties
@@ -13,7 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-jre9Compat.invalidModuleUri=The module URI provided [{0}] could not be converted to a URL for the JarScanner to process
jre9Compat.javaPre9=Class not found so assuming code is running on a pre-Java 9 JVM
jre9Compat.unexpected=Failed to create references to Java 9 classes and methods
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_es.properties b/java/org/apache/tomcat/util/compat/LocalStrings_es.properties
index 87b3f59..73f3ca3 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_es.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_es.properties
@@ -13,6 +13,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-jre9Compat.invalidModuleUri=El módulo URI proveído [{0}] no pudo ser convertiod a una URL para ser procesado por JarScanner
-
jreCompat.noApplicationProtocol=Java Runtime no soporta SSLEngine.getApplicationProtocol(). Se necesita Java 9 para usar esta función.
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_fr.properties b/java/org/apache/tomcat/util/compat/LocalStrings_fr.properties
index cfb8a96..e10efa4 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_fr.properties
@@ -16,7 +16,6 @@
jre16Compat.javaPre16=Le code est considéré être exécuté sur une JVM antérieure à Java 16 car la classe n'a pas été trouvée
jre16Compat.unexpected=Impossible de créer les références vers les classes et méthodes de Java 16
-jre9Compat.invalidModuleUri=L''URI du module fournie [{0}] n''a pas pu être convertie en URL pour être traitée par le JarScanner
jre9Compat.javaPre9=Le code est considéré être exécuté sur une JVM antérieure à Java 9 car la classe n'a pas été trouvée
jre9Compat.unexpected=Impossible de créer les références vers les classes et méthodes de Java 9
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties b/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
index e9d35ea..adda934 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
@@ -16,7 +16,6 @@
jre16Compat.javaPre16=クラスが見つからないため、コードがJava 16より前のJVMで実行されていると仮定します
jre16Compat.unexpected=Java16クラスおよびメソッドへの参照の作成に失敗しました
-jre9Compat.invalidModuleUri=モジュール URI [{0}] を JarScanner で処理する URL に変換できませんでした。
jre9Compat.javaPre9=クラスが見つからないため Java 9 以前の JVM 上でコードが実行されていると仮定します
jre9Compat.unexpected=Java9 クラスやメソッドへの参照の生成に失敗しました
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_ko.properties b/java/org/apache/tomcat/util/compat/LocalStrings_ko.properties
index b5666eb..00acd8f 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_ko.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_ko.properties
@@ -16,7 +16,6 @@
jre16Compat.javaPre16=클래스가 발견되지 않습니다. 자바 16 이전의 JVM에서 실행 중인 것으로 보입니다.
jre16Compat.unexpected=자바 16 클래스들과 메소드들을 참조할 수 없습니다.
-jre9Compat.invalidModuleUri=[{0}](으)로 제공된 모듈 URI는 JarScanner가 처리할 수 있는 URL로 변환될 수 없습니다.
jre9Compat.javaPre9=Java 9 클래스가 발견되지 않습니다. Java 9 이전 버전에서 동작하고 있는 것으로 보입니다.
jre9Compat.unexpected=Java 9 클래스들과 메소드들을 참조할 수 없습니다.
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/compat/LocalStrings_zh_CN.properties
index 909c016..c82dcbf 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_zh_CN.properties
@@ -16,7 +16,6 @@
jre16Compat.javaPre16=类未找到,因此假设代码在Java16之前的JVM上运行
jre16Compat.unexpected=无法创建对Java16中类和方法的引用
-jre9Compat.invalidModuleUri=提供的模块URI [{0}]无法转换为JarScanner要处理的URL
jre9Compat.javaPre9=类未找到,所以假设代码运行在pre-Java 8虚拟机上
jre9Compat.unexpected=创建对Java 9类的依赖和方法失败
diff --git a/java/org/apache/tomcat/util/scan/LocalStrings.properties b/java/org/apache/tomcat/util/scan/LocalStrings.properties
index 2c86045..58d659c 100644
--- a/java/org/apache/tomcat/util/scan/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/scan/LocalStrings.properties
@@ -18,6 +18,7 @@ jarScan.classloaderFail=Failed to scan [{0}] from classloader hierarchy
jarScan.classloaderJarNoScan=Not performing JAR scanning on file [{0}] from classpath
jarScan.classloaderJarScan=Scanning JAR [{0}] from classpath
jarScan.classloaderStart=Scanning for JARs in classloader hierarchy
+jarScan.invalidModuleUri=The module URI provided [{0}] could not be converted to a URL for the JarScanner to process
jarScan.jarUrlStart=Scanning JAR at URL [{0}]
jarScan.webinfclassesFail=Failed to scan /WEB-INF/classes
jarScan.webinflibFail=Failed to scan JAR [{0}] from /WEB-INF/lib
diff --git a/java/org/apache/tomcat/util/scan/LocalStrings_es.properties b/java/org/apache/tomcat/util/scan/LocalStrings_es.properties
index 49dcc2d..dee583f 100644
--- a/java/org/apache/tomcat/util/scan/LocalStrings_es.properties
+++ b/java/org/apache/tomcat/util/scan/LocalStrings_es.properties
@@ -16,5 +16,6 @@
jarScan.classPath.badEntry=El camino de la clase entrada [{0}] no se puede convertir en una URL
jarScan.classloaderFail=Fallo al escanear [{0}] desde la herarquia classloader hierarchy
jarScan.classloaderJarNoScan=No se ejecutó el escaneo de JAR en el archivo [{0}] de la ruta de clase
+jarScan.invalidModuleUri=El módulo URI proveído [{0}] no pudo ser convertiod a una URL para ser procesado por JarScanner
jarScan.webinflibJarNoScan=No se ejecutó escaneo JAR en el archivo [{0}] de /WEB-INF/lib\n
jarScan.webinflibStart=Buscando JARs en /WEB-INF/lib
diff --git a/java/org/apache/tomcat/util/scan/LocalStrings_fr.properties b/java/org/apache/tomcat/util/scan/LocalStrings_fr.properties
index c12194a..abe6dce 100644
--- a/java/org/apache/tomcat/util/scan/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/scan/LocalStrings_fr.properties
@@ -18,6 +18,7 @@ jarScan.classloaderFail=Echec de recherche dans [{0}] de la hiérarchie de charg
jarScan.classloaderJarNoScan=Le JAR [{0}] dans le chemin de classes ne sera pas analysé
jarScan.classloaderJarScan=Analyse du JAR [{0}] du chemin de classes
jarScan.classloaderStart=Recherche dans les JARs de la hiérarchie de chargeurs de classe
+jarScan.invalidModuleUri=L''URI du module fournie [{0}] n''a pas pu être convertie en URL pour être traitée par le JarScanner
jarScan.jarUrlStart=Recherche dans le JAR à l''URL [{0}]
jarScan.webinfclassesFail=Impossible de parcourir /WEB-INF/classes
jarScan.webinflibFail=Échec de scan du JAR [{0}] de /WEB-INF/lib
diff --git a/java/org/apache/tomcat/util/scan/LocalStrings_ja.properties b/java/org/apache/tomcat/util/scan/LocalStrings_ja.properties
index 9bf22d0..e4b4025 100644
--- a/java/org/apache/tomcat/util/scan/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/scan/LocalStrings_ja.properties
@@ -18,6 +18,7 @@ jarScan.classloaderFail=クラスローダー階層から[{0}]をスキャンで
jarScan.classloaderJarNoScan=クラスパス中のファイル [{0}] は JAR スキャンをしませんでした。
jarScan.classloaderJarScan=クラスパスの JAR ファイル [{0}] をスキャンします。
jarScan.classloaderStart=クラスローダー階層中の JAR ファイルをスキャンします。
+jarSacn.invalidModuleUri=モジュール URI [{0}] を JarScanner で処理する URL に変換できませんでした。
jarScan.jarUrlStart=URL [{0}] の JAR ファイルをスキャンします。
jarScan.webinfclassesFail=/WEB-INF/classesのスキャンに失敗しました
jarScan.webinflibFail=/WEB-INF/libからJAR [{0}]をスキャンできませんでした。
diff --git a/java/org/apache/tomcat/util/scan/LocalStrings_ko.properties b/java/org/apache/tomcat/util/scan/LocalStrings_ko.properties
index 579d82d..7b4768c 100644
--- a/java/org/apache/tomcat/util/scan/LocalStrings_ko.properties
+++ b/java/org/apache/tomcat/util/scan/LocalStrings_ko.properties
@@ -18,6 +18,7 @@ jarScan.classloaderFail=클래스로더 계층구조로부터 [{0}]을(를) 스
jarScan.classloaderJarNoScan=클래스패스로부터 파일 [{0}]에 대한 JAR 스캔을 수행하지 않습니다.
jarScan.classloaderJarScan=클래스패스로부터 JAR [{0}]을(를) 스캔합니다.
jarScan.classloaderStart=클래스로더 계층 구조에서 JAR들을 스캔합니다.
+jarScan.invalidModuleUri=[{0}](으)로 제공된 모듈 URI는 JarScanner가 처리할 수 있는 URL로 변환될 수 없습니다.
jarScan.jarUrlStart=URL [{0}]에 위치한 JAR를 스캔합니다.
jarScan.webinfclassesFail=/WEB-INF/classes를 스캔하지 못했습니다.
jarScan.webinflibFail=/WEB-INF/lib으로부터 JAR [{0}]을(를) 스캔하지 못했습니다.
diff --git a/java/org/apache/tomcat/util/scan/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/scan/LocalStrings_zh_CN.properties
index 60d4212..5b15b52 100644
--- a/java/org/apache/tomcat/util/scan/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/scan/LocalStrings_zh_CN.properties
@@ -18,6 +18,7 @@ jarScan.classloaderFail=在多级类加载器中扫描[{0}]失败
jarScan.classloaderJarNoScan=跳过classpath路径[{0}]下的jar包扫描。
jarScan.classloaderJarScan=从classpath扫描JAR[{0}]
jarScan.classloaderStart=在类加载器层次结构中扫描JAR
+jarScan.invalidModuleUri=提供的模块URI [{0}]无法转换为JarScanner要处理的URL
jarScan.jarUrlStart=正在扫描URL [{0}] 上的JAR文件
jarScan.webinfclassesFail=无法扫描/WEB-INF/classes
jarScan.webinflibFail=无法从/WEB-INF/lib扫描JAR[{0}]。
diff --git a/java/org/apache/tomcat/util/scan/StandardJarScanner.java b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
index 9a2fb79..a71e8c3 100644
--- a/java/org/apache/tomcat/util/scan/StandardJarScanner.java
+++ b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
@@ -18,6 +18,7 @@ package org.apache.tomcat.util.scan;
import java.io.File;
import java.io.IOException;
+import java.lang.module.ResolvedModule;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
@@ -27,6 +28,7 @@ import java.util.Collections;
import java.util.Deque;
import java.util.HashSet;
import java.util.LinkedList;
+import java.util.Optional;
import java.util.Set;
import java.util.jar.Attributes;
import java.util.jar.Manifest;
@@ -42,7 +44,6 @@ import org.apache.tomcat.JarScanner;
import org.apache.tomcat.JarScannerCallback;
import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.buf.UriUtil;
-import org.apache.tomcat.util.compat.JreCompat;
import org.apache.tomcat.util.res.StringManager;
/**
@@ -272,15 +273,24 @@ public class StandardJarScanner implements JarScanner {
classLoader = classLoader.getParent();
}
- if (JreCompat.isJre9Available()) {
- // The application and platform class loaders are not
- // instances of URLClassLoader. Use the class path in this
- // case.
- addClassPath(classPathUrlsToProcess);
- // Also add any modules
- JreCompat.getInstance().addBootModulePath(classPathUrlsToProcess);
- processURLs(scanType, callback, processedURLs, false, classPathUrlsToProcess);
+ // The application and platform class loaders are not
+ // instances of URLClassLoader. Use the class path in this
+ // case.
+ addClassPath(classPathUrlsToProcess);
+
+ // Also add any modules
+ for (ResolvedModule module : ModuleLayer.boot().configuration().modules()) {
+ Optional<URI> uri = module.reference().location();
+ if (uri.isPresent()) {
+ try {
+ classPathUrlsToProcess.add(uri.get().toURL());
+ } catch (MalformedURLException e) {
+ log.warn(sm.getString("jarScan.invalidModuleUri", uri), e);
+ }
+ }
}
+
+ processURLs(scanType, callback, processedURLs, false, classPathUrlsToProcess);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org