Grails 3 schemaExport包含查找sitemesh.xml的FileNotFoundException警告

Grails 3 schemaExport包含查找sitemesh.xml的FileNotFoundException警告,grails,grails-3.3,Grails,Grails 3.3,当使用Gradle为Grails 3.3应用程序执行schemaExport时,尽管创建了ddl.sql,但日志中仍会出现以下警告。根据Grails3文档,sitemesh.xml被删除,因此该文件自然不可用。我错过什么了吗 工具和版本:Grails 3.3.0、Gradle 3.3、Hibenrate 5、Sybase ASE 15.7 2017-09-13 12:50:45.264警告---[main]o.s.mock.web.MockServletContext:无法确定资源类路径资源的实

当使用Gradle为Grails 3.3应用程序执行schemaExport时,尽管创建了ddl.sql,但日志中仍会出现以下警告。根据Grails3文档,sitemesh.xml被删除,因此该文件自然不可用。我错过什么了吗

工具和版本:Grails 3.3.0、Gradle 3.3、Hibenrate 5、Sybase ASE 15.7

2017-09-13 12:50:45.264警告---[main]o.s.mock.web.MockServletContext:无法确定资源类路径资源的实际路径[src/main/webapp/web-INF/sitemesh.xml]
java.io.FileNotFoundException:类路径资源[src/main/webapp/WEB-INF/sitemesh.xml]无法解析为URL,因为它不存在
位于org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:187)
位于org.springframework.core.io.AbstractFileResolvingerSource.getFile(AbstractFileResolvingerSource.java:49)
位于org.springframework.mock.web.MockServletContext.getRealPath(MockServletContext.java:458)
位于org.grails.web.sitemesh.Grails5535Factory(Grails5535Factory.java:78)
位于org.grails.web.servlet.view.SitemeshLayoutViewResolver.loadSitemeshConfig(SitemeshLayoutViewResolver.java:105)
位于org.grails.web.servlet.view.SitemeshLayoutViewResolver.init(SitemeshLayoutViewResolver.java:67)
位于org.grails.web.servlet.view.SitemeshLayoutViewResolver.onApplicationEvent(SitemeshLayoutViewResolver.java:146)
位于org.grails.web.servlet.view.SitemeshLayoutViewResolver.onApplicationEvent(SitemeshLayoutViewResolver.java:42)
位于org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:167)
位于org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
位于org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:393)
位于org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:347)
位于org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:883)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
位于org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
位于org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
位于org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
在grails.boot.GrailsApp.run(GrailsApp.groovy:83)
在grails.ui.command.GrailsApplicationContextCommandRunner.run(GrailsApplicationContextCommandRunner.groovy:55)
位于grails.ui.command.GrailsApplicationContextCommandRunner.main(GrailsApplicationContextCommandRunner.groovy:102)

这只是一条警告信息。底层的spring类正在寻找它,只是说它不存在。默认日志级别不显示此输出

您可以安全地忽略该消息,或调整日志以不显示该消息


由于该命令正在生成ddl.sql文件,我有点忽略了它。但似乎有点奇怪,因为Grails3不应该提供该文件。默认情况下,不应该删除该检查吗?Grails是在spring框架(和其他框架)上构建的。我不知道为什么spring会删除一些grails没有使用的功能的警告消息,因为其他spring框架用户可能会使用它。很可能spring正在根据配置寻找特定的资源。我不确定Grails为什么不能将Spring配置为不查找Sitemesh。
2017-09-13 12:50:45.264  WARN --- [           main] o.s.mock.web.MockServletContext          : Couldn't determine real path of resource class path resource [src/main/webapp/WEB-INF/sitemesh.xml]

java.io.FileNotFoundException: class path resource [src/main/webapp/WEB-INF/sitemesh.xml] cannot be resolved to URL because it does not exist
        at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:187)
        at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:49)
        at org.springframework.mock.web.MockServletContext.getRealPath(MockServletContext.java:458)
        at org.grails.web.sitemesh.Grails5535Factory.<init>(Grails5535Factory.java:78)
        at org.grails.web.servlet.view.SitemeshLayoutViewResolver.loadSitemeshConfig(SitemeshLayoutViewResolver.java:105)
        at org.grails.web.servlet.view.SitemeshLayoutViewResolver.init(SitemeshLayoutViewResolver.java:67)
        at org.grails.web.servlet.view.SitemeshLayoutViewResolver.onApplicationEvent(SitemeshLayoutViewResolver.java:146)
        at org.grails.web.servlet.view.SitemeshLayoutViewResolver.onApplicationEvent(SitemeshLayoutViewResolver.java:42)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:167)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:393)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:347)
        at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:883)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
        at grails.boot.GrailsApp.run(GrailsApp.groovy:83)
        at grails.ui.command.GrailsApplicationContextCommandRunner.run(GrailsApplicationContextCommandRunner.groovy:55)
        at grails.ui.command.GrailsApplicationContextCommandRunner.main(GrailsApplicationContextCommandRunner.groovy:102)