java - 如何禁用 micronaut 的静态内容缓存?

标签 java kotlin micronaut

我创建了一个提供一些静态文件的应用程序,但是在开发过程中,服务器缓存静态内容而不是返回磁盘上的内容确实很烦人。是的,使用 ./gradlew run --continuous 的开发模式并不是最优的。

我想知道是否有属性、配置或其他方法可以禁用静态内容缓存,以便在我的开发配置文件中进行设置。

最佳答案

正如其他答案的评论中所讨论的,使用 netty.responses.file.cache-seconds 和类似的属性不起作用,因为它只控制浏览器缓存。

问题是,当您使用 ./gradlew run --continuous 并且您有 micronaut.router.static-resources.my-resources.paths设置为类似 classpath:public/ 的值,当然,micronaut 将从类路径中读取,该类路径仅在构建运行时才会更改。为了让您使用当前的开发版本而无需重建应用程序,您应该使用类似以下内容的内容:

micronaut:
  router:
    static-resources:
      shared-static:
        enabled: true
        mapping: /public/**
        paths:
          - file:src/main/resources/public

通过在开发配置文件中执行此操作,您将始终获得 micronaut 渲染的最新版本。

如果浏览器缓存有问题,那么您应该将此答案与 https://stackoverflow.com/a/60763922/3073044 结合起来。 .

关于java - 如何禁用 micronaut 的静态内容缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60714808/

相关文章:

java - 为什么我在 Selenium 中收到 "The type is deprecated"错误?

java - 返回 int[]-array 或使用自己的类 "Size"/"Dimension"/"Point"?

java - 如何从静态上下文中获取 getclass().getResource()?

java - 在回调中渲染 http 响应

spring - 我可以在 Micronaut 中使用 spring data jpa 吗?

java - java中简单的stdin读取

kotlin - 如何将 Kotlin ByteArray 转换为 NsData,反之亦然

java - 如何使用 JavaFX MediaPlayer 多次播放同一音频剪辑

android - 不支持的 kotlin 版本

java - 没有这样的属性 : count for class: com. github.jengelman.gradle.plugins.shadow.transformers.ServiceFileTransformer