I'm trying to serve files from a folder on my drive D:\Dev\files
but when I specify it in the configuration file application.yml I get an error.
micronaut:
application:
name: devchallenges
server:
port: 5000
cors:
enable: true
router:
static-resources:
swagger:
paths: classpath:META-INF/swagger
mapping: /swagger/**
documentation:
paths: classpath:META-INF/swagger/views/rapidoc
mapping: /documentation/**
files:
paths: files:D:/Dev/files
mapping: /files/**
Message: Unrecognizable resource path: files:D:/Dev/files
Path Taken: new NettyHttpServer(NettyHttpServerConfiguration serverConfiguration,ApplicationContext applicationContext,Router router,RequestArgumentSatisfier requestArgumentSatisfier,MediaTypeCodecRegistry mediaTypeCodecRegistry,NettyCustomizableResponseTypeHandlerRegistry customizableResponseTypeHandlerRegistry,[StaticResourceResolver resourceResolver],BeanProvider ioExecutor,ThreadFactory threadFactory,ExecutorSelector executorSelector,ServerSslBuilder serverSslBuilder,List outboundHandlers,EventLoopGroupFactory eventLoopGroupFactory,EventLoopGroupRegistry eventLoopGroupRegistry,HttpCompressionStrategy httpCompressionStrategy,HttpContentProcessorResolver httpContentProcessorResolver,ChannelOptionFactory channelOptionFactory,ErrorResponseProcessor errorResponseProcessor,HttpHostResolver hostResolver)
at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2006)
at io.micronaut.context.DefaultBeanContext.createAndRegisterSingletonInternal(DefaultBeanContext.java:2768)
at io.micronaut.context.DefaultBeanContext.createAndRegisterSingleton(DefaultBeanContext.java:2754)
at io.micronaut.context.DefaultBeanContext.getBeanForDefinition(DefaultBeanContext.java:2425)
at io.micronaut.context.DefaultBeanContext.getBeanInternal(DefaultBeanContext.java:2399)
at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1264)
at io.micronaut.context.AbstractBeanDefinition.getBeanForConstructorArgument(AbstractBeanDefinition.java:1014)
at io.micronaut.http.server.netty.$NettyHttpServerDefinition.build(Unknown Source)
at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1979)
at io.micronaut.context.DefaultBeanContext.createAndRegisterSingletonInternal(DefaultBeanContext.java:2768)
at io.micronaut.context.DefaultBeanContext.createAndRegisterSingleton(DefaultBeanContext.java:2754)
at io.micronaut.context.DefaultBeanContext.getBeanForDefinition(DefaultBeanContext.java:2425)
at io.micronaut.context.DefaultBeanContext.getBeanInternal(DefaultBeanContext.java:2399)
at io.micronaut.context.DefaultBeanContext.findBean(DefaultBeanContext.java:1285)
at io.micronaut.context.DefaultBeanContext.findBean(DefaultBeanContext.java:755)
at io.micronaut.context.BeanLocator.findBean(BeanLocator.java:149)
at io.micronaut.runtime.Micronaut.start(Micronaut.java:73)
at io.micronaut.runtime.Micronaut.run(Micronaut.java:311)
at io.micronaut.runtime.Micronaut.run(Micronaut.java:297)
at com.back.Application.main(Application.java:16)
Caused by: io.micronaut.context.exceptions.ConfigurationException: Unrecognizable resource path: files:D:/Dev/files
at io.micronaut.web.router.resource.StaticResourceConfiguration.getResourceLoaders(StaticResourceConfiguration.java:98)
at io.micronaut.web.router.resource.StaticResourceResolver.<init>(StaticResourceResolver.java:54)
at io.micronaut.web.router.resource.$StaticResourceResolverDefinition.build(Unknown Source)
at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1979)
... 19 common frames omitted
I tried to place the route in different ways but it did not work
Simply go with a complaint and valid URL.
file:///D:/Dev/files
file://
is the protocol referring to your disk. The third /
represents the root of your filesystem (in unix thinking). The rest is simply your Windows path but with /
instead of \
.
micronaut:
router:
static-resources:
files:
paths: file:///D:/Dev/files
mapping: /files/**