- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个在本地运行并使用 grails -Dgrails.env=dev run-app
构建的 grails 应用程序.以下内容在我的开发和 qa tomcat 实例服务器中都是正确的。
grailsApplication.config.get('grails.env') == 'dev'
然后 grails 从 application.yml
中找到正确的配置通过 grailsApplication.config
属性(property)。 (有关说明,请参阅下面的第一个更新)。
当我们的构建服务器构建 war
文件使用 grails -Dgrails.env=dev war
我在 META-INF 中收到了带有 build.info 的正确 war,其中正确的环境变量设置为 dev
.然而,调用
grailsApplication.config.get('grails.env') == '{"initializing":"true"}'
根据 grails.util.Environment
类:
/**
* Whether Grails is in the middle of bootstrapping or not
*/
public static final String INITIALIZING = "grails.env.initializing";
我尝试使用较短的 grails <env> war
设置变量语法以及将其放在 GRAILS_OPTS
中变量无济于事。但是我相信只要它最终出现在 META-INF/grails.build.info
中。理论上无论如何它都应该有效(参见 grails.util.Environment.resolveCurrentEnvironment()
方法)。
据我所知,这里的区别在于 tomcat,但我无法告诉您为什么它在初始化时卡住。除了这种方法之外,我没有任何其他重要的方法可以设置环境变量,AFAIK 是这样做的标准方法。
有什么想法吗?
附言我正在通过注入(inject) grailsApplication
的临时 Controller 访问此属性进入它并返回它在 grailsApplication.config
中找到的任何映射对于您提供的 key 。
我设法使用 Environment.current.name
找到了正确的环境,所以如果需要的话,我目前有一个解决方法,但是我的 application.yml
中存在的自定义属性仍然没有被拾起。
例如
# application.yml
app.my-prop: false
environments:
dev:
app:
my-prop: true
grailsApplication.config.getProperty('app.my-prop', boolean, false) 返回 true
当我用 grails -Dgrails.env=dev run-app
运行它时在我的本地但是false
在带有 grails -Dgrails.env=dev war
的服务器上可部署。
最佳答案
在解析配置之前调用 Environment.getCurrent()
。
现在可以了。我不是 100% 确定为什么,但我有一个理论:
我只想将 Controller 限制在开发环境中,我记得我的一位同事使用方法 GrailsUtil.isDevelopmentEnv()
来检查它,因此作为预防措施,我添加了一个 在呈现配置值响应之前检查环境的 if
语句。
if (GrailsUtil.isDevelopmentEnv() || System.getProperty(Environment.KEY) == 'dev') {
...
}
但是一旦我添加了检查,自定义 application.yml
属性就正确解析了!
我目前的理论是 GrailsUtil.isDevelopmentEnv()
的 Environment.getCurrent()
方法检查系统属性,如果没有找到,检查META-INF/grails.build.info 文件并缓存结果。也许问题是当 grailsApplication.config.getProperty()
被调用时,环境设置是通过这种方式解决的,但它不是通过这种方法初始化的。
我正在使用 grails 版本 3.1.16,这可能会在以后的版本中得到修复,但目前我对这个解决方案很满意。
关于tomcat - tomcat 中没有设置 Grails 环境。 application.yml 文件不使用自定义环境设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49991085/
我已经成功创建了我的第一个 django 项目。 我的项目 foo 和 foobar 中有两个应用程序。 我在每个应用程序文件夹中创建了一个名为“fixtures”的文件夹。我没有在我的setting
我遵循了 cap + nginx + unicorn 上的文档,但在理解如何正确进行数据库部署时遇到了一些问题。 /config/database.yml 不应该在 git repo 中(最好) 在/
GitLab server can't start .原因很可能是 gitlab.yml 配置文件不正确。 用什么工具检查yml语法是否正确? 我试过 Notepad++ 和 SublimeText,
我们有一个站点范围的 config.yml 文件,它联系 api key 等... 我的另一个 YML 文件能否访问 config.yml 中的值? 配置文件: development: th
我正在尝试在我的第一个测试应用程序中设置用户和安全管理,但我已经有点迷失了,不知道什么是做什么的。 到目前为止我的设置:Symfony 2.5、SonataUserBundle(以及 FOSUserB
我需要在 application.yml 中使用 yaml anchor 引用和字符串连接对于 Spring Boot 应用程序。动机是重用现有配置而不是复制它们。例如,我们有以下 applicati
我需要将单个 YML 文件拆分为多个 YML 文件: 微服务.yml: #------------------------------------------------------------- #
在我的 Symfony2 config.yml 文件中,我想导入一些我希望收集在单独的 yml 文件中的配置。 我用过: imports: - { resource: parameters.yml }
我是新的 docker 用户。在不同的手册中,我通常发现 docker-compose.yml 文件用于描述 docker 作业,但在 docker 站点上为此目标使用了 docker-stack.y
我不明白这两种在 Symfony2 中设置全局常量的方法之间的区别。是否只能在 config.yml (+configuration.php) 中设置默认值和类型? 最佳答案 参数.yml 文件是所有
在 config.yml 中,我看到了 monolog、web_profiler 等根元素。那些服务可以在 service.yml 中配置吗?换句话说,我在 service.yml 中定义的服务是否可
我阅读了这个文档:https://serverless.com/framework/docs/providers/google/guide/services/ users/ serverless.
我正在从事 CI/CD 项目(使用 circleci 管道),目前,我坚持让我的“create_infrastructure”工作正常工作。下面是作业 # AWS infrastructure
编辑:原始标题“文本环境:”平台“sqlite”不支持函数“year”” 将 beberlei\DoctrineExtensions 合并到测试环境中会产生 Uncaught PHP Exceptio
abc.yml: d_lab: 192.168.1.1 d_location: /ephemeral ema: apple: 10.0.0.1 orange: 10.0.0.2
我的 springboot 应用程序有一些 yml 文件(每个文件用于各种配置文件 - dev、prod)来加载配置。我正在将配置移至数据库。 示例配置如下: admin: id: user05
我有一个大型剧本,它使用多个角色来设置新服务器。我想重新使用剧本,但为了退役阶段而不是调用 role_name/tasks/main.yml 并有很多 when: 语句,我想要告诉 Ansible 调
使用 bookdown 创作文档时,我知道有四个选项可以放置配置选项: _bookdown.yml _output.yml 第一个 .Rmd 的 yaml header 文档 传递给 bookdown
我们希望将我们的 azure pipeline build .ymls 模块化。对于完整的应用程序构建,将包括不同组件的构建 .yml 到主 .yml 中,将它们全部构建在一起。对于单独的组件,我们将
假设我的网站上有一个简单的传统联系表单,我希望它在发送电子邮件时在开发环境中使用主题“Test: (subject_field value)”,在生产环境中使用“(subject_field_valu
我是一名优秀的程序员,十分优秀!