upgrade dependencies versions + be more tolerant in scanning
diff --git a/pom.xml b/pom.xml
index 6e6eee8..b006250 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,10 +37,10 @@
   <name>Apache Winegrower</name>
 
   <properties>
-    <junit.version>5.3.1</junit.version>
+    <junit.version>5.5.2</junit.version>
     <osgi.version>7.0.0</osgi.version>
-    <slf4j.version>1.7.25</slf4j.version>
-    <xbean.version>4.12</xbean.version>
+    <slf4j.version>1.7.28</slf4j.version>
+    <xbean.version>4.15</xbean.version>
 
     <surefire.log.level>INFO</surefire.log.level>
 
@@ -60,12 +60,7 @@
   <dependencies>
     <dependency>
       <groupId>org.junit.jupiter</groupId>
-      <artifactId>junit-jupiter-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.junit.jupiter</groupId>
-      <artifactId>junit-jupiter-engine</artifactId>
+      <artifactId>junit-jupiter</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>
@@ -75,7 +70,7 @@
       <dependency>
         <groupId>com.google.guava</groupId>
         <artifactId>guava</artifactId>
-        <version>27.0-jre</version>
+        <version>28.0-jre</version>
       </dependency>
       <dependency>
         <groupId>org.osgi</groupId>
@@ -107,13 +102,7 @@
       </dependency>
       <dependency>
         <groupId>org.junit.jupiter</groupId>
-        <artifactId>junit-jupiter-api</artifactId>
-        <version>${junit.version}</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.junit.jupiter</groupId>
-        <artifactId>junit-jupiter-engine</artifactId>
+        <artifactId>junit-jupiter</artifactId>
         <version>${junit.version}</version>
         <scope>test</scope>
       </dependency>
@@ -125,7 +114,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.8.0</version>
+        <version>3.8.1</version>
         <configuration>
           <source>1.8</source>
           <target>1.8</target>
@@ -148,7 +137,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
-        <version>2.22.1</version>
+        <version>3.0.0-M3</version>
         <configuration>
           <systemPropertyVariables>
             <org.slf4j.simpleLogger.defaultLogLevel>${surefire.log.level}</org.slf4j.simpleLogger.defaultLogLevel>
@@ -160,7 +149,7 @@
       <plugin>
         <groupId>org.jacoco</groupId>
         <artifactId>jacoco-maven-plugin</artifactId>
-        <version>0.8.2</version>
+        <version>0.8.5</version>
         <executions>
           <execution>
             <id>prepare-agent</id>
diff --git a/winegrower-core/src/main/java/org/apache/winegrower/scanner/StandaloneScanner.java b/winegrower-core/src/main/java/org/apache/winegrower/scanner/StandaloneScanner.java
index ae7fe74..5eb650f 100644
--- a/winegrower-core/src/main/java/org/apache/winegrower/scanner/StandaloneScanner.java
+++ b/winegrower-core/src/main/java/org/apache/winegrower/scanner/StandaloneScanner.java
@@ -65,13 +65,7 @@
         this.configuration = configuration;
         this.frameworkJar = frameworkJar;
         this.loader = Thread.currentThread().getContextClassLoader();
-        try {
-            this.urls = new UrlSet(ClassLoaders.findUrls(loader))
-                    .excludeJvm()
-                    .getUrls();
-        } catch (final IOException e) {
-            throw new IllegalStateException(e);
-        }
+        this.urls = findUrls();
 
         try { // fatjar plugin
             providedManifests = list(this.loader.getResources("WINEGROWER-INF/manifests.properties")).stream()
@@ -115,6 +109,18 @@
         }
     }
 
+    private List<URL> findUrls() {
+        if (loader == null || System.getProperty("java.home") == null /*graalvm*/ ||
+                Boolean.getBoolean("winegrower.scanner.standalone.skipUrlsScanning")) {
+            return emptyList();
+        }
+        try {
+            return new UrlSet(ClassLoaders.findUrls(loader)).excludeJvm().getUrls();
+        } catch (final IOException e) {
+            throw new IllegalStateException(e);
+        }
+    }
+
     public Collection<BundleDefinition> findEmbeddedClasses() {
         // potentially other scripting languages
         return scanGroovy();
diff --git a/winegrower-core/src/main/java/org/apache/winegrower/service/BundleRegistry.java b/winegrower-core/src/main/java/org/apache/winegrower/service/BundleRegistry.java
index 1352de7..44af016 100644
--- a/winegrower-core/src/main/java/org/apache/winegrower/service/BundleRegistry.java
+++ b/winegrower-core/src/main/java/org/apache/winegrower/service/BundleRegistry.java
@@ -13,7 +13,7 @@
  */
 package org.apache.winegrower.service;
 
-import static org.apache.xbean.finder.util.Files.toFile;
+import static java.util.Optional.ofNullable;
 
 import java.io.File;
 import java.util.HashMap;
@@ -22,6 +22,7 @@
 
 import org.apache.winegrower.Ripener;
 import org.apache.winegrower.deployer.OSGiBundleLifecycle;
+import org.apache.xbean.finder.util.Files;
 
 public class BundleRegistry {
     private final Map<Long, OSGiBundleLifecycle> bundles = new HashMap<>();
@@ -29,10 +30,12 @@
 
     public BundleRegistry(final OSGiServices services, final Ripener.Configuration configuration) {
         final String resource = getClass().getName().replace('.', '/') + ".class";
-        final File file = toFile(Thread.currentThread().getContextClassLoader().getResource(resource));
-        this.framework = file.getName().endsWith(".class") ?
-                new File(file.getAbsolutePath().replace(File.separatorChar, '/').substring(0, file.getAbsolutePath().length() - resource.length())):
-                file.getAbsoluteFile();
+        this.framework = ofNullable(Thread.currentThread().getContextClassLoader().getResource(resource))
+                .map(Files::toFile)
+                .map(file -> file.getName().endsWith(".class") ?
+                        new File(file.getAbsolutePath().replace(File.separatorChar, '/').substring(0, file.getAbsolutePath().length() - resource.length())):
+                        file.getAbsoluteFile())
+                .orElse(null);
 
         // ensure we have the framework bundle simulated
         final Manifest frameworkManifest = new Manifest();
diff --git a/winegrower-extension/winegrower-build/winegrower-build-common/src/test/java/org/apache/winegrower/extension/build/common/BuildTest.java b/winegrower-extension/winegrower-build/winegrower-build-common/src/test/java/org/apache/winegrower/extension/build/common/BuildTest.java
index 99402b6..51ed02d 100644
--- a/winegrower-extension/winegrower-build/winegrower-build-common/src/test/java/org/apache/winegrower/extension/build/common/BuildTest.java
+++ b/winegrower-extension/winegrower-build/winegrower-build-common/src/test/java/org/apache/winegrower/extension/build/common/BuildTest.java
@@ -62,7 +62,7 @@
         assertEquals(11, entries.size());
         assertTrue(entries.contains("test-art-winegrower-distribution/bin/winegrower.sh"));
         assertTrue(entries.contains("test-art-winegrower-distribution/bin/setenv.sh"));
-        assertTrue(entries.contains("test-art-winegrower-distribution/lib/osgi.core-7.0.0.jar"));
-        assertTrue(entries.contains("test-art-winegrower-distribution/lib/junit-jupiter-api-5.3.1.jar"));
+        assertTrue(entries.stream().anyMatch(it -> it.startsWith("test-art-winegrower-distribution/lib/osgi.core-")));
+        assertTrue(entries.stream().anyMatch(it -> it.startsWith("test-art-winegrower-distribution/lib/junit-jupiter-api-")));
     }
 }
diff --git a/winegrower-extension/winegrower-cdi/pom.xml b/winegrower-extension/winegrower-cdi/pom.xml
index a436952..b33f516 100644
--- a/winegrower-extension/winegrower-cdi/pom.xml
+++ b/winegrower-extension/winegrower-cdi/pom.xml
@@ -38,13 +38,13 @@
     <dependency>
       <groupId>org.apache.geronimo.specs</groupId>
       <artifactId>geronimo-jcdi_2.0_spec</artifactId>
-      <version>1.0.1</version>
+      <version>1.1</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.geronimo.specs</groupId>
       <artifactId>geronimo-interceptor_1.2_spec</artifactId>
-      <version>1.0</version>
+      <version>1.1</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
@@ -56,7 +56,7 @@
     <dependency>
       <groupId>org.apache.geronimo.specs</groupId>
       <artifactId>geronimo-annotation_1.3_spec</artifactId>
-      <version>1.0</version>
+      <version>1.2</version>
       <scope>provided</scope>
     </dependency>
 
@@ -69,7 +69,7 @@
     <dependency>
       <groupId>org.apache.openwebbeans</groupId>
       <artifactId>openwebbeans-se</artifactId>
-      <version>2.0.7</version>
+      <version>2.0.12</version>
       <scope>test</scope>
     </dependency>
   </dependencies>