Create full-stack web apps quickly and easily with this Quarkus extension. It offers zero-configuration bundling for your web app scripts (JS, JSX, TS, TSX), dependencies (jQuery, React, htmx, etc.), and styles (CSS, SCSS, SASS).
Apache License 2.0
16
stars
9
forks
source link
FileSystemException on Windows with live-reload enabled #240
Please note that the exception message below is in Dutch, because that's how Windows passes it along. I've looked up what the error message would be in English:
Dutch: Een van de vereiste bevoegdheden is niet aan de client toegekend
English: A required privilege is not held by the client
Windows error code: 1314
Expected behavior
Successful start.
Actual behavior
An exception occurs:
Failed to start quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkiverse.web.bundler.deployment.PrepareForBundlingProcessor#prepareForBundling threw an exception: java.io.UncheckedIOException: java.nio.file.FileSystemException: C:\Users\sjoer\Documents\proj\qdemo\code-with-quarkus\target\web-bundler\dev\app\app.js: Een van de vereiste bevoegdheden is niet aan de client toegekend
Exception: java.nio.file.FileSystemException: C:\Users\sjoer\Documents\proj\qdemo\code-with-quarkus\target\web-bundler\dev\app\app.js: A required privilege is not held by the client (message translated)
2024-06-17 03:26:52,995 ERROR [io.qua.dep.dev.IsolatedDevModeMain] (main) Failed to start quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkiverse.web.bundler.deployment.PrepareForBundlingProcessor#prepareForBundling threw an exception: java.io.UncheckedIOException: java.nio.file.FileSystemException: C:\Users\sjoer\Documents\proj\qdemo\code-with-quarkus\target\web-bundler\dev\app\app.js: Een van de vereiste bevoegdheden is niet aan de client toegekend
at io.quarkiverse.web.bundler.deployment.PrepareForBundlingProcessor.prepareForBundling(PrepareForBundlingProcessor.java:259)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
at java.base/java.lang.Thread.run(Thread.java:1583)
at org.jboss.threads.JBossThread.run(JBossThread.java:483)
Caused by: java.nio.file.FileSystemException: C:\Users\sjoer\Documents\proj\qdemo\code-with-quarkus\target\web-bundler\dev\app\app.js: Een van de vereiste bevoegdheden is niet aan de client toegekend
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at java.base/sun.nio.fs.WindowsFileSystemProvider.createSymbolicLink(WindowsFileSystemProvider.java:604)
at java.base/java.nio.file.Files.createSymbolicLink(Files.java:1069)
at io.quarkiverse.web.bundler.deployment.PrepareForBundlingProcessor.prepareForBundling(PrepareForBundlingProcessor.java:204)
... 10 more
at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:331)
at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:252)
at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:58)
at io.quarkus.deployment.dev.IsolatedDevModeMain.firstStart(IsolatedDevModeMain.java:113)
at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:435)
at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:56)
at io.quarkus.bootstrap.app.CuratedApplication.runInCl(CuratedApplication.java:138)
at io.quarkus.bootstrap.app.CuratedApplication.runInAugmentClassLoader(CuratedApplication.java:93)
at io.quarkus.deployment.dev.DevModeMain.start(DevModeMain.java:131)
at io.quarkus.deployment.dev.DevModeMain.main(DevModeMain.java:62)
Caused by: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkiverse.web.bundler.deployment.PrepareForBundlingProcessor#prepareForBundling threw an exception: java.io.UncheckedIOException: java.nio.file.FileSystemException: C:\Users\sjoer\Documents\proj\qdemo\code-with-quarkus\target\web-bundler\dev\app\app.js: Een van de vereiste bevoegdheden is niet aan de client toegekend
at io.quarkiverse.web.bundler.deployment.PrepareForBundlingProcessor.prepareForBundling(PrepareForBundlingProcessor.java:259)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
at java.base/java.lang.Thread.run(Thread.java:1583)
at org.jboss.threads.JBossThread.run(JBossThread.java:483)
Caused by: java.nio.file.FileSystemException: C:\Users\sjoer\Documents\proj\qdemo\code-with-quarkus\target\web-bundler\dev\app\app.js: Een van de vereiste bevoegdheden is niet aan de client toegekend
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at java.base/sun.nio.fs.WindowsFileSystemProvider.createSymbolicLink(WindowsFileSystemProvider.java:604)
at java.base/java.nio.file.Files.createSymbolicLink(Files.java:1069)
at io.quarkiverse.web.bundler.deployment.PrepareForBundlingProcessor.prepareForBundling(PrepareForBundlingProcessor.java:204)
... 10 more
at io.quarkus.builder.Execution.run(Execution.java:123)
at io.quarkus.builder.BuildExecutionBuilder.execute(BuildExecutionBuilder.java:79)
at io.quarkus.deployment.QuarkusAugmentor.run(QuarkusAugmentor.java:160)
at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:327)
... 9 more
Caused by: java.io.UncheckedIOException: java.nio.file.FileSystemException: C:\Users\sjoer\Documents\proj\qdemo\code-with-quarkus\target\web-bundler\dev\app\app.js: Een van de vereiste bevoegdheden is niet aan de client toegekend
at io.quarkiverse.web.bundler.deployment.PrepareForBundlingProcessor.prepareForBundling(PrepareForBundlingProcessor.java:259)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
at java.base/java.lang.Thread.run(Thread.java:1583)
at org.jboss.threads.JBossThread.run(JBossThread.java:483)
Caused by: java.nio.file.FileSystemException: C:\Users\sjoer\Documents\proj\qdemo\code-with-quarkus\target\web-bundler\dev\app\app.js: Een van de vereiste bevoegdheden is niet aan de client toegekend
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at java.base/sun.nio.fs.WindowsFileSystemProvider.createSymbolicLink(WindowsFileSystemProvider.java:604)
at java.base/java.nio.file.Files.createSymbolicLink(Files.java:1069)
at io.quarkiverse.web.bundler.deployment.PrepareForBundlingProcessor.prepareForBundling(PrepareForBundlingProcessor.java:204)
... 10 more
Describe the bug
On Windows, with browser-live-reload enabled, the quarkus-web-bundler extension will try to create symlinks. Windows prohibits this for normal users.
The symlink is created here: https://github.com/quarkiverse/quarkus-web-bundler/blob/1.5.3/deployment/src/main/java/io/quarkiverse/web/bundler/deployment/PrepareForBundlingProcessor.java#L204
Please note that the exception message below is in Dutch, because that's how Windows passes it along. I've looked up what the error message would be in English:
Expected behavior
Successful start.
Actual behavior
An exception occurs:
How to Reproduce?
quarkus.cmd create app -x quarkus-web-bundler -code
cd .\code-with-quarkus\
quarkus.cmd dev
java.nio.file.FileSystemException: C:\Users\sjoer\Documents\proj\qdemo\code-with-quarkus\target\web-bundler\dev\app\app.js: A required privilege is not held by the client
(message translated)quarkus.cmd dev
Output of
uname -a
orver
Windows 11 Pro (version 10.0.22631 N/A Build 22631)
Output of
java -version
openjdk version "21.0.2" 2024-01-16
Quarkus version or git rev
Quarkus: 3.11.2 quarkus-web-bundler: 1.5.3
Build tool (ie. output of
mvnw --version
orgradlew --version
)Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
Additional information
Full stack trace: