Windows username with space gives errors on native build #13055
Description
When using Windows with space on username there's 2 errors on different steps on mvn package.
the command that I ran is:
mvn -Pnative package
Expected behavior
Successfully generate my native image.
Actual behavior
Breaks on 2 steps of ' io.quarkus:quarkus-maven-plugin:1.9.1.Final:build'
The first step that breaks is
' io.quarkus.vertx.http.deployment.VertxHttpProcessor#registerExchangeAttributeBuilders'
The entire message on this error is:
Failed to execute goal io.quarkus:quarkus-maven-plugin:1.9.1.Final:build (default) on project qa-tracker-api: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR] [error]: Build step io.quarkus.vertx.http.deployment.VertxHttpProcessor#registerExchangeAttributeBuilders threw an exception: java.nio.file.FileSystemNotFoundException: C:\Users\Lucca%2520Prado.m2\repository\io\quarkus\quarkus-vertx-http\1.9.1.Final\quarkus-vertx-http-1.9.1.Final.jar
[ERROR] at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.(ZipFileSystem.java:118)
[ERROR] at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:109)
[ERROR] at java.base/java.nio.file.FileSystems.newFileSystem(FileSystems.java:337)
[ERROR] at java.base/java.nio.file.FileSystems.newFileSystem(FileSystems.java:286)
[ERROR] at io.quarkus.bootstrap.util.ZipUtils.newFileSystem(ZipUtils.java:160)
[ERROR] at io.quarkus.vertx.http.deployment.VertxHttpProcessor.registerExchangeAttributeBuilders(VertxHttpProcessor.java:221)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[ERROR] at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:936)
[ERROR] at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
[ERROR] at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2046)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1578)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1426)
[ERROR] at java.base/java.lang.Thread.run(Thread.java:834)
[ERROR] at org.jboss.threads.JBossThread.run(JBossThread.java:479)
The second step that break (after bypassing the first) is
'io.quarkus.container.image.deployment.ContainerImageProcessor#publishImageInfo'
The entire message on this error is:
[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:1.9.1.Final:build (default) on project qa-tracker-api: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR] [error]: Build step io.quarkus.container.image.deployment.ContainerImageProcessor#publishImageInfo threw an exception: java.lang.IllegalArgumentException: The supplied combination of container-image group 'lucca prado' and name 'qa-tracker-api' is invalid
[ERROR] at io.quarkus.container.image.deployment.ContainerImageProcessor.publishImageInfo(ContainerImageProcessor.java:47)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[ERROR] at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:936)
[ERROR] at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
[ERROR] at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2046)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1578)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452)
[ERROR] at java.base/java.lang.Thread.run(Thread.java:834)
[ERROR] at org.jboss.threads.JBossThread.run(JBossThread.java:479)
To Reproduce
Steps to reproduce the behavior:
- Create windows user with space on name
Ex: "Lucca Prado" - Configure Java and GraalVm on it
- Open an Quarkus project
- Run
mvn -Pnative package
Screenshots
(If applicable, add screenshots to help explain your problem.)
Environment (please complete the following information):
- Output of
uname -a
orver
:
MINGW64_NT-10.0 TARDIS 2.11.2(0.329/5/3) 2018-11-10 14:38 x86_64 Msys ----- Microsoft Windows [versão 10.0.18363.1139] - Output of
java -version
:
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment GraalVM CE 20.2.0 (build 11.0.8+10-jvmci-20.2-b03)
OpenJDK 64-Bit Server VM GraalVM CE 20.2.0 (build 11.0.8+10-jvmci-20.2-b03, mixed mode, sharing) - GraalVM version (if different from Java): GraalVM CE 20.2.0
- Quarkus version or git rev: 1.9.1.Final
- Build tool (ie. output of
mvnw --version
orgradlew --version
):
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T15:41:47-03:00)
Maven home: C:\Program Files\Maven\apache-maven-3.6.0\bin..
Java version: 11.0.8, vendor: GraalVM Community, runtime: C:\Program Files\graalvm-ce-java11-20.2.0
Default locale: pt_BR, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" - Username: 'Lucca Prado'
Additional context
To bypass the first error i changed the settings.xml
in my .m2 folder to one that don't have , but would be nice if this step escaped the space char correctly.
The second one I guess that I can override it, but, would be really nice if the space on username could be changed to "-".