Repository: quarkusio/quarkus
Issue: Simplest generated project fails with quarkus:dev with JDK 13 on Windows 10

**Describe the bug**
Generated project doesn't run with `quarkus:dev` on Windows 10. The same project run seamlessly on macOS Catalina.

**Expected behavior**
Runs without any error.

**Actual behavior**
Fails at run with error message:
```
[INFO] --- quarkus-maven-plugin:1.0.0.CR1:dev (default-cli) @ code-with-quarkus ---
Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
Listening for transport dt_socket at address: 5005
Error: Could not find or load main class io.quarkus.dev.DevModeMain
Caused by: java.lang.ClassNotFoundException: io.quarkus.dev.DevModeMain
```

**To Reproduce**
Steps to reproduce the behavior:
1. Generate the simplest app on code.quarkus.io (whithout extensions)
2. Run `mvn compile quarkus:dev`

**Environment:**
 - OS: Windows 10 (KO) and macOS Catalina (OK)
 - JDK: tested with Oracle JDK 13

**Additional context**
I found a similar issue:
https://github.com/apache/camel-quarkus/issues/263
but this one seems related to camel and I am not using it.


Changed files:
core/devmode/src/main/java/io/quarkus/dev/ClassLoaderCompiler.java, devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java

diff --git a/core/devmode/src/main/java/io/quarkus/dev/ClassLoaderCompiler.java b/core/devmode/src/main/java/io/quarkus/dev/ClassLoaderCompiler.java
index 4a42569d1cd..47812a78b58 100644
--- a/core/devmode/src/main/java/io/quarkus/dev/ClassLoaderCompiler.java
+++ b/core/devmode/src/main/java/io/quarkus/dev/ClassLoaderCompiler.java
@@ -122,12 +122,19 @@ public ClassLoaderCompiler(ClassLoader classLoader,
                             }
                             Object classPath = mf.getMainAttributes().get(Attributes.Name.CLASS_PATH);
                             if (classPath != null) {
-                                for (String i : WHITESPACE_PATTERN.split(classPath.toString())) {
+                                for (String classPathEntry : WHITESPACE_PATTERN.split(classPath.toString())) {
+                                    final URI cpEntryURI = new URI(classPathEntry);
                                     File f;
-                                    try {
-                                        f = Paths.get(new URI("file", null, "/", null).resolve(new URI(i))).toFile();
-                                    } catch (URISyntaxException e) {
-                                        f = new File(file.getParentFile(), i);
+                                    // if it's a "file" scheme URI, then use the path as a file system path
+                                    // without the need to resolve it
+                                    if (cpEntryURI.isAbsolute() && cpEntryURI.getScheme().equals("file")) {
+                                        f = new File(cpEntryURI.getPath());
+                                    } else {
+                                        try {
+                                            f = Paths.get(new URI("file", null, "/", null).resolve(cpEntryURI)).toFile();
+                                        } catch (URISyntaxException e) {
+                                            f = new File(file.getParentFile(), classPathEntry);
+                                        }
                                     }
                                     if (f.exists()) {
                                         toParse.add(f.getAbsolutePath());
diff --git a/devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java b/devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java
index afafff887fe..9c211c7b0ee 100644
--- a/devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java
+++ b/devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java
@@ -55,7 +55,6 @@
 import io.quarkus.bootstrap.resolver.BootstrapAppModelResolver;
 import io.quarkus.bootstrap.resolver.maven.MavenArtifactResolver;
 import io.quarkus.bootstrap.resolver.maven.workspace.LocalProject;
-import io.quarkus.bootstrap.util.PropertyUtils;
 import io.quarkus.dev.DevModeContext;
 import io.quarkus.dev.DevModeMain;
 import io.quarkus.maven.components.MavenVersionEnforcer;
@@ -381,23 +380,13 @@ private void addProject(DevModeContext devModeContext, LocalProject localProject
     }
 
     private void addToClassPaths(StringBuilder classPathManifest, DevModeContext classPath, File file) {
-        URI uri = file.toPath().toAbsolutePath().toUri();
+        final URI uri = file.toPath().toAbsolutePath().toUri();
         try {
             classPath.getClassPath().add(uri.toURL());
         } catch (MalformedURLException e) {
             throw new RuntimeException(e);
         }
-        String path = uri.getRawPath();
-        if (PropertyUtils.isWindows()) {
-            if (path.length() > 2 && Character.isLetter(path.charAt(0)) && path.charAt(1) == ':') {
-                path = "/" + path;
-            }
-        }
-        classPathManifest.append(path);
-        if (file.isDirectory() && path.charAt(path.length() - 1) != '/') {
-            classPathManifest.append("/");
-        }
-        classPathManifest.append(" ");
+        classPathManifest.append(uri).append(" ");
     }
 
     class DevModeRunner {