Repository: quarkusio/quarkus
Issue: Fast-Jar + quarkus.arc.remove-unused-beans=false causes ClassNotFoundException

**Describe the bug**
The exact issue is easy to reproduce with the standard quarkus start project.

1. Add the following depnednecy to the pom.xml:
```
<dependency>
      <groupId>org.apache.myfaces.core.extensions.quarkus</groupId>
      <artifactId>myfaces-quarkus</artifactId>
      <version>2.3-next-M3</version>
    </dependency>
```
2. Add the following combination of settings to the application.properties:
```
quarkus.package.type=fast-jar
quarkus.arc.remove-unused-beans=false
```
3. mvn package && java -jar target/quarkus-app/quarkus-run.jar

**Expected behavior**
The application should start without problems

**Actual behavior**
```
Exception in thread "main" java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:43)
	at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:24)
Caused by: java.lang.ExceptionInInitializerError
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.Class.newInstance(Class.java:442)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:60)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:38)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:106)
	at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:29)
	... 6 more
Caused by: java.lang.RuntimeException: Failed to start quarkus
	at io.quarkus.runner.ApplicationImpl.<clinit>(ApplicationImpl.zig:222)
	... 15 more
Caused by: java.lang.RuntimeException: Failed to initialize Arc
	at io.quarkus.arc.Arc.initialize(Arc.java:26)
	at io.quarkus.arc.runtime.ArcRecorder.getContainer(ArcRecorder.java:35)
	at io.quarkus.deployment.steps.ArcProcessor$generateResources1649676420.deploy_0(ArcProcessor$generateResources1649676420.zig:76)
	at io.quarkus.deployment.steps.ArcProcessor$generateResources1649676420.deploy(ArcProcessor$generateResources1649676420.zig:40)
	at io.quarkus.runner.ApplicationImpl.<clinit>(ApplicationImpl.zig:180)
	... 15 more
Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext_8154c10ea529795d38da9083f05136178578d788_Synthetic_Bean
	at io.quarkus.arc.setup.Default_ComponentsProvider.addBeans3(Default_ComponentsProvider.zig:1352)
	at io.quarkus.arc.setup.Default_ComponentsProvider.getComponents(Default_ComponentsProvider.zig:48)
	at io.quarkus.arc.impl.ArcContainerImpl.<init>(ArcContainerImpl.java:109)
	at io.quarkus.arc.Arc.initialize(Arc.java:20)
	... 19 more
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContext_8154c10ea529795d38da9083f05136178578d788_Synthetic_Bean
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:56)
	at io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:43)
	... 23 more
```
I am unsure if the issue is with the myfaces quarkus extension in specific, but at least i see the problem when i use it.
The exception goes away when i either remove the myfaces dependency, or do not build a fast jar. So, building and running the regular runner-jar works without problem.

**Environment (please complete the following information):**
 - Output of `uname -a` or `ver`: Linux dev-vm.local 3.10.0-862.11.6.el7.x86_64 #1 SMP Tue Aug 14 21:49:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
 - Output of `java -version`: java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
 - Quarkus version or git rev: 1.7.0.Final
 - Build tool (ie. output of `mvnw --version` or `gradlew --version`): Apache Maven 3.6.3

Changed files:
independent-projects/bootstrap/runner/src/main/java/io/quarkus/bootstrap/runner/RunnerClassLoader.java

diff --git a/independent-projects/bootstrap/runner/src/main/java/io/quarkus/bootstrap/runner/RunnerClassLoader.java b/independent-projects/bootstrap/runner/src/main/java/io/quarkus/bootstrap/runner/RunnerClassLoader.java
index d6bf167acdb..43d3c2f9c4a 100644
--- a/independent-projects/bootstrap/runner/src/main/java/io/quarkus/bootstrap/runner/RunnerClassLoader.java
+++ b/independent-projects/bootstrap/runner/src/main/java/io/quarkus/bootstrap/runner/RunnerClassLoader.java
@@ -53,7 +53,11 @@ public Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundExce
         }
         String packageName = getPackageNameFromClassName(name);
         if (parentFirstPackages.contains(packageName)) {
-            return getParent().loadClass(name);
+            try {
+                return getParent().loadClass(name);
+            } catch (ClassNotFoundException e) {
+                //fall through
+            }
         }
         synchronized (getClassLoadingLock(name)) {
             Class<?> loaded = findLoadedClass(name);