由于调用run-app使用grails中的tomcat- AccessLogValve,那么当grails插件不存在时,如何修改server.xml中的grails插件呢?
我只需要这个用于开发,因为在生产中,我将只将war部署到tomcat。
提前感谢
发布于 2010-01-27 01:41:01
您可以在脚本/_Events.groovy中的'ConfigureTomcat‘事件的回调中配置它:
import org.apache.catalina.valves.AccessLogValve
eventConfigureTomcat = { tomcat ->
tomcat.host.addValve new AccessLogValve(
directory: basedir, prefix: 'localhost_access_log.', pattern: 'common')
}发布于 2011-09-21 01:45:30
我必须将其封装在一个dev环境块中,否则我会在dev之外收到可怕的错误。
这是我最终得到的结果,但我仍然不满意,因为
grails run-war -https是不开心的
eventConfigureTomcat = { tomcat ->
if (grailsEnv == "development") {
tomcat?.host?.addValve new AccessLogValve(
directory: basedir,
prefix: 'localhost_access_log.',
suffix: '.log',
pattern: 'common')
}
}生成以下内容:
[unzip] Expanding: foo.war into /Users/tak/.grails/1.3.7/projects/foo/war
Running Grails application..
java.lang.NullPointerException: Cannot set property 'hostname' on null object
at org.grails.tomcat.TomcatServer.startSecure(TomcatServer.groovy:273)悲伤。
https://stackoverflow.com/questions/2122070
复制相似问题