是否可以从生产环境中排除 grails 插件?
Posted
技术标签:
【中文标题】是否可以从生产环境中排除 grails 插件?【英文标题】:Is it possible to exclude grails plugin from production environment? 【发布时间】:2010-12-19 12:03:12 【问题描述】:我想在开发环境中使用某些插件,但想将此插件从生产环境和生成的战争中排除。最简单的方法是什么?
【问题讨论】:
你能给我解决 grails 2.4.3 的问题吗? 【参考方案1】:您可以在 config.groovy 中使用 excludes 属性:
production
grails.plugin.excludes='console,classDiagram'
但是对于它是否会将其从“运行应用程序”和“战争”中排除似乎有些混乱。我今天会尝试检查并验证
【讨论】:
【参考方案2】:如果你想在某些环境中排除插件,你需要这样做:
runtime (':plugin:version')
if (Environment.current == Environment.PRODUCTION)
export = false
【讨论】:
【参考方案3】:我不相信有办法在不编辑插件本身的情况下实现这一点(正如 Jean 指出的那样)
如果您可以控制插件,那么这将起作用,但如果您只是想在“使用”它时对其进行配置,那么您将需要复制并运行带有您修改的插件的补丁版本。您可以通过在 grails-app/conf/BuildConfig.groovy 文件中使用该插件的自定义位置来自定义它。
【讨论】:
【参考方案4】:是的,使用插件范围。来自http://grails.org/1.1+Release+Notes:
现在可以使用环境或预定义的构建范围来确定插件的范围:
def environments = ['dev', 'test']
def scopes = [excludes:'war']
插件只会在这些环境中加载,不会打包到 WAR 文件中。这允许“仅开发”插件不被打包以供生产使用。
【讨论】:
如何配置这个?我正在尝试编译 ":angular-annotate-asset-pipeline:2.0.2" def environment = ['dev', 'test'] 但出现错误跨度>以上是关于是否可以从生产环境中排除 grails 插件?的主要内容,如果未能解决你的问题,请参考以下文章
Grails:有条件地加载 Spring Security LDAP 插件