Repository: quarkusio/quarkus
Issue: IDE Launcher fails for gradle project containing a submodule without resources

**Describe the bug**
We have a gradle project with some submodules. Some submodules have an empty resource folder.
When starting the main method directly from the Intellij, we receive a null pointer exception.

```
Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at io.quarkus.launcher.QuarkusLauncher.launch(QuarkusLauncher.java:57)
	at io.quarkus.runtime.Quarkus.launchFromIDE(Quarkus.java:92)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:79)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:38)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:104)
	at org.qumea.Main.main(Main.java:11)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at io.quarkus.launcher.QuarkusLauncher.launch(QuarkusLauncher.java:54)
	... 5 more
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
	at io.quarkus.bootstrap.IDELauncherImpl.launch(IDELauncherImpl.java:60)
	... 10 more
Caused by: java.lang.NullPointerException
	at io.quarkus.bootstrap.IDELauncherImpl.launch(IDELauncherImpl.java:50)
	... 10 more
```

**Expected behavior**
Empty resource directories should probably be ignored.


**To Reproduce**
[submodule-no-resources.zip](https://github.com/quarkusio/quarkus/files/5643966/submodule-no-resources.zip)

**Environment (please complete the following information):**
 - Quarkus version or git rev: 1.10.2.Final



Changed files:
independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/IDELauncherImpl.java
core/deployment/src/main/java/io/quarkus/deployment/dev/RuntimeUpdatesProcessor.java

diff --git a/core/deployment/src/main/java/io/quarkus/deployment/dev/RuntimeUpdatesProcessor.java b/core/deployment/src/main/java/io/quarkus/deployment/dev/RuntimeUpdatesProcessor.java
index 5bd60db5765..37b665f7586 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/dev/RuntimeUpdatesProcessor.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/dev/RuntimeUpdatesProcessor.java
@@ -445,7 +445,7 @@ Set<String> checkForFileChange() {
                 outputPath = rootPath;
                 doCopy = false;
             }
-            if (rootPath == null) {
+            if (rootPath == null || outputPath == null) {
                 continue;
             }
             Path root = Paths.get(rootPath);
diff --git a/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/IDELauncherImpl.java b/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/IDELauncherImpl.java
index b2fdf7e7f57..35a2bc4aec6 100644
--- a/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/IDELauncherImpl.java
+++ b/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/IDELauncherImpl.java
@@ -12,10 +12,9 @@
 
 /**
  * IDE entry point.
- *
+ * <p>
  * This is launched from the core/launcher module. To avoid any shading issues core/launcher unpacks all its dependencies
  * into the jar file, then uses a custom class loader load them.
- *
  */
 public class IDELauncherImpl {