You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2020/01/17 14:57:11 UTC
[openwebbeans-meecrowave] branch master updated: MEECROWAVE-231
enhance @WebXXX scanning for java 11
This is an automated email from the ASF dual-hosted git repository.
rmannibucau pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openwebbeans-meecrowave.git
The following commit(s) were added to refs/heads/master by this push:
new e2acf19 MEECROWAVE-231 enhance @WebXXX scanning for java 11
e2acf19 is described below
commit e2acf19e22ea77503bd49fa639bb6cfd7234404a
Author: Romain Manni-Bucau <rm...@gmail.com>
AuthorDate: Fri Jan 17 15:57:06 2020 +0100
MEECROWAVE-231 enhance @WebXXX scanning for java 11
---
.../apache/meecrowave/tomcat/MeecrowaveContextConfig.java | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/meecrowave-core/src/main/java/org/apache/meecrowave/tomcat/MeecrowaveContextConfig.java b/meecrowave-core/src/main/java/org/apache/meecrowave/tomcat/MeecrowaveContextConfig.java
index 466f09f..ccbb43b 100644
--- a/meecrowave-core/src/main/java/org/apache/meecrowave/tomcat/MeecrowaveContextConfig.java
+++ b/meecrowave-core/src/main/java/org/apache/meecrowave/tomcat/MeecrowaveContextConfig.java
@@ -141,9 +141,18 @@ public class MeecrowaveContextConfig extends ContextConfig {
final WebXml annotations = new WebXml();
annotations.setDistributable(true);
final URL url = fragment.getURL();
- final Collection<Class<?>> classes = webClasses.get(url.toExternalForm());
- if (classes == null) {
- return;
+ String urlString = url.toExternalForm();
+ Collection<Class<?>> classes = webClasses.get(urlString);
+ if (classes == null) { // mainly java 11, no need on java 8
+ if (urlString.startsWith("file:") && urlString.endsWith("jar")) {
+ urlString = "jar:" + urlString + "!/";
+ } else {
+ return;
+ }
+ classes = webClasses.get(urlString);
+ if (classes == null) {
+ return;
+ }
}
classes.forEach(clazz -> {
try (final InputStream stream = loader.getResourceAsStream(clazz.getName().replace('.', '/') + ".class")) {