Grails 从Config.groovy和Datasource.groovy访问war文件名

Grails 从Config.groovy和Datasource.groovy访问war文件名,grails,war,Grails,War,我想用几个名字来部署我的war文件,只是重命名一下,它似乎在tomcat上工作得很好。这显然给了我不同的URL。我使用request.contextPath在应用程序运行时在应用程序中查找自己的URL,但如果我想(例如)在Datasource.groovy中的war文件后命名数据库文件,那么就没有可供我查看的请求对象了,我运气不佳。我该怎么做 如果使用 这些文件中只需包含每个部署的不同值。然后,每次创建新war时,都会为此部署创建一个新的配置文件 当然,你每次都需要手动创建它,但我想你可以为此编

我想用几个名字来部署我的war文件,只是重命名一下,它似乎在tomcat上工作得很好。这显然给了我不同的URL。我使用request.contextPath在应用程序运行时在应用程序中查找自己的URL,但如果我想(例如)在Datasource.groovy中的war文件后命名数据库文件,那么就没有可供我查看的请求对象了,我运气不佳。我该怎么做

如果使用

这些文件中只需包含每个部署的不同值。然后,每次创建新war时,都会为此部署创建一个新的配置文件


当然,你每次都需要手动创建它,但我想你可以为此编写一个脚本,或者使用find/replace

应用程序是否在启动时创建数据库文件?这是您正在尝试做的事情吗?也许application.properties值得一看?@marko我已经看过application.properties,但app.name既不反映war文件的名称,也不反映后续url。@aldrin它可能创建了war文件,也可能使用以前创建的文件。这只是一个例子,另一个例子是,如果我想将日志文件与正在运行的其他战争分开,那么应该将日志文件放在哪里,以及searchable应该将其compassConnection存储在哪里。对于所有这些东西,我需要一个可以在配置时从war文件名派生的名称。如果我理解您想要做什么,我猜最好的方法是在Datasource.groovy中更改db名称。可能不是最优雅的解决方案,但它应该可以完成这项工作。这可能是我最终不得不做的事情,但理想情况下,我希望能够在以后更改war文件名,然后让一切正常工作