grails - 遵循 Grails 3 中的符号链接(symbolic link)

标签 grails grails-3.1

在 Grails 2.x 中,为了允许跟随符号链接(symbolic link),我们可以在 scripts/_Events.groovy 中添加跟随:

eventConfigureTomcat = { tomcat ->
    def ctx = tomcat.host.findChild("")
    ctx.allowLinking = true     // Follow soft links
}

我们如何在 Grails 3 中实现同样的目标?我尝试在 src/main/scripts 中创建相同的脚本文件Grails 3 中的目录,但没有帮助。

编辑:

我还尝试在 Bootstrap.groovy 中添加以下行:
Holders.getServletContext().allowLinking = true

GitHub issue #10045

最佳答案

最后,借助 graemerocher 提供的示例,我找到了在 Grails 3 中遵循符号链接(symbolic link)的解决方案。 .

您只需将以下内容添加到您的 ./grails-app/init/<package>/Application.groovy :

@Bean
EmbeddedServletContainerFactory containerFactory() {
    TomcatEmbeddedServletContainerFactory containerFactory = new TomcatEmbeddedServletContainerFactory()

    containerFactory.addContextCustomizers(new TomcatContextCustomizer() {
        @Override
        void customize(Context context) {
            StandardRoot root = new StandardRoot(context)
            root.setAllowLinking(true)
            context.setResources(root)
        }
    });

    return containerFactory
}

要导入的包:
import org.apache.catalina.Context
import org.apache.catalina.webresources.StandardRoot
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory
import org.springframework.boot.context.embedded.tomcat.TomcatContextCustomizer
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory
import org.springframework.context.annotation.Bean

关于grails - 遵循 Grails 3 中的符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38268498/

相关文章:

grails - GSP页面中的语法是什么?

Grails 3 install-templates 仅创建脚手架目录 - 没有工件目录

grails - 在gradle中运行npm run watch命令

Grails clean 命令抛出空指针异常

grails - 在Grails应用程序的主页中更改用户的语言环境

grails - 如何在grails中添加bootstrap的反馈/错误?

grails - 常规闭包继承

grails - 一对多关系行为

grails - JBoss EAP 6中的Grails 3应用为404

mysql - 在 grails3 中使用 mongodb 和 hibernate