无法访问Grails 3

时间:2016-06-14 10:00:24

标签: grails grails-3.0 grails-3.1

我无法访问Grails 3中的网络应用文件夹文件。 我在web-app文件夹中有robots.txt,在Grails 2中我可以直接在http://localhost:8080/robots.txt访问它。迁移到Grails 3后,我无法再访问http://localhost:8080/robots.txt

如何重新访问这些文件?

2 个答案:

答案 0 :(得分:5)

请参阅https://github.com/grails/grails-core/releases/tag/v3.0.12和部分Location of static resources

在Grails 3中,您可以将文件存储在src / main / resources下。您可以通过前缀为static的文件名访问它们,例如http://localhost:8080/static/robots.txt

可以使用附加网址

中定义的配置选项更改此路径

答案 1 :(得分:0)

我在Grails 3.3.1中遇到了类似的问题。我必须访问文件模板才能将其与插件(excel-export插件)一起使用。阅读文档后,我将文件放在src / main / resources下。在开发模式下可以正常运行(grails运行应用程序),但是在生产环境中却收到错误消息(grails war)。经过大量阅读,我找到了使其工作的方法。我已将文件放在同一目录(src / main / resources)中,然后在控制器中放置:

def template = this.class.classLoader.getResource('myExcelFile.xlsx')
def path = template.file  //will give you the real path to your file

有了路径,您就可以打开流或执行所需的操作。在我的情况下,将其与插件一起使用:

new WebXlsxExporter(path).with {
  setResponseHeaders(response)
    add(products, withProperties)
    save(response.outputStream)
}