使用gradle bootRun启动时,redirect()无法在Grails中解析@info.app.name @

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用gradle bootRun启动时,redirect()无法在Grails中解析@info.app.name @相关的知识,希望对你有一定的参考价值。

我刚刚将Grails 2项目升级到Grails 3,我在解决运行@info.app.name@./gradlew bootRun时遇到了一些问题。在我的application.yml我有这个:

info:
    app:
        name: '@info.app.name@'
        version: '@info.app.version@'
        grailsVersion: '@info.app.grailsVersion@'

在我的控制器中,我有:

def index = {
    redirect(action: 'invoices')
}

在Tomcat中运行应用程序,这很好,并且/profakt/invoiceSheet/index被正确地重定向到/profakt/invoiceSheet/invoices

使用./gradlew bootRun运行应用程序时,应用程序名称无法正确解析,重定向正在尝试重定向到/@info.app.name@/invoiceSheet/invoices

我注意到,如果我从build.gradle中删除这一行,它会再次起作用:

bootRun {
    systemProperties = System.properties
}

但我真的想保留这一行,以便能够使用环境变量配置一些(db)url。

知道我如何将System.properties与bootRun一起使用吗?

答案

尝试:

bootRun {
    systemProperties(System.properties)
}

这应该附加属性而不是重置它们。

以上是关于使用gradle bootRun启动时,redirect()无法在Grails中解析@info.app.name @的主要内容,如果未能解决你的问题,请参考以下文章

gradle bootRun:应用程序无法使用类路径启动

Gradle > 如何停止使用 gradle bootRun 启动的 Spring Boot 应用程序?

并行启动多个 Gradle "spring-boot" 插件 "bootRun" 任务

BootRun 无法启动?

如何通过 gradle 任务使用 spring 配置文件运行 bootRun

spring bootRun 和 Angular buildWatch 使用 Gradle