禁用 Grails 插件

2024-02-18

在我的 Grails 应用程序中,我想在运行单元测试时阻止加载 Searchable 插件。我尝试在 Bootstrap 类中使用以下代码来执行此操作

def grailsApplication

def init = {servletContext ->
    def currentEnv = grails.util.Environment.current.name

    if (currentEnv == 'test') {

        def doNothing = {println "Searchable is disabled"}

        // This returns null!
        def searchablePluginClass = grailsApplication.getClassForName("SearchableGrailsPlugin")

        searchablePluginClass.metaClass.doWithDynamicMethods = doNothing 
        searchablePluginClass.metaClass.doWithSpring = doNothing 
        searchablePluginClass.metaClass.doWithApplicationContext = doNothing 
    }
}

但这不起作用,因为grailsApplication.getClassForName("SearchableGrailsPlugin")返回 null,可能是因为当此代码运行时此类不在类路径上。还有其他方法可以禁用此插件吗?


我找到了解决方案。将以下内容添加到 Config.groovy:

environments {
    test {
        plugin {
            excludes = "searchable"
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

禁用 Grails 插件 的相关文章

随机推荐

  • 如何在 Java 中读取格式良好的 XML,但跳过架构?

    我想读取其中包含架构声明的 XML 文件 这就是我想做的一切 阅读它 我不在乎它是否有效 但我希望它结构良好 问题是读取器尝试读取架构文件 但失败了 我什至不想尝试 我已尝试禁用验证 但它仍然坚持尝试读取架构文件 理想情况下 我想使用现有的
  • 测地线球的算法

    我必须用较小的均匀分布的球制作一个球体 我认为最佳方法是构建一个基于三角形的测地球体并使用顶点作为球的中点 但我无法编写生成顶点的算法 用 C 或伪代码回答会更好 测地线球体示例 https i stack imgur com iNQfP
  • 通过比较日期合并数据框,Pandas

    我有两个数据框 我想通过比较不同列上的日期来合并它们 这是列出了工作单位和日期的数据框 累计工作量表示工人之前完成的工作数量 该工作单位的领导者被识别为领导者姓名 Work unit Date leader name Cum work un
  • 如何从图像中读取条形码[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个图书馆 技术或关于如何阅读的建议EAN 13 http en wikipedia org wiki EAN 13图像中的条形
  • 仅当选择某些单选按钮时才进行 jQuery 验证

    我的表单上有这个简单的验证
  • 正则表达式仅匹配字母

    我需要为 RegularExpressionValidator ASP NET Web 控件编写正则表达式 正则表达式应允许所有字母字符 但不允许数字或特殊字符 例如 知道怎么做吗 A Za z 验证长度为 1 或更大且仅包含 ASCII
  • 如何理解 Ruby 中的 nil、empty 和 Blank

    我发现自己反复寻找差异的明确定义nil blank and empty 在 Ruby on Rails 中 这是我最接近的 blank 对象为 false 空或空白字符串 例如 nil and 是空白的 nil 对象是 NilClass 的
  • 利用漏洞从文本中过滤单词

    我有一个过滤器 可以过滤 ass fuck 等坏词 现在我正在尝试处理 f ck sh t 等漏洞 我能做的一件事就是将每个单词与具有此类漏洞的坏单词词典进行匹配 但这是相当静态的 不是一个好方法 我可以做的另一件事是使用编辑距离 编辑距离
  • 将邮件项目标记为已发送(VBA Outlook)

    我在更改邮件的已发送属性时遇到问题 因为该属性是只读的 我需要从 vba 级别更改它 从共享邮箱 使用在线outlook模式 发送邮件后出现该问题 邮件不会转到共享邮箱中的 已发送邮件 文件夹 而是保留在发件箱文件夹中 我已经制作了宏将邮件
  • Material UI:根据班级影响孩子

    我想要实现的目标 我有两节课 root and button 我想影响button上课root状态 例如 hover 我的尝试 我正在尝试显示button on root hover const styles root hover here
  • 如果在特定文件夹中,由 Angular CLI 生成的测试将失败

    我已经使用 Angular CLI v6 1 4 通过运行在我的组件文件夹中生成了一个组件ng g c components foo然后跑了ng test 新组件的测试失败并出现以下错误 async 测试助手需要区域 但无法找到 请确保您的
  • ${_csrf.parameterName} 和 ${_csrf.token} 返回 null

    对我来说 CSRF令牌没有生成 我搜索了很多链接仍然没有找到解决方案 出现此错误 在请求参数 csrf 上发现无效的 CSRF 令牌 null 或标头 X CSRF TOKEN
  • 对 scipy.stats.uniform 中的“a”和“b”属性的混淆

    考虑以下代码 import scipy print scipy version gives 0 19 1 Scipy stats uniform unif scipy stats uniform 1 2 print unif a unif
  • LSH 比 BruteForce 匹配慢

    我需要在两个图像之间进行相似度匹配 为此 我在 C 中使用来自 OpenCV 的 ORB 关键点检测器和 ORB 描述符提取器 我的问题出在匹配上 我决定测试两种类型的匹配 基于FLANN的匹配器使用 LSH 和BF匹配器 根据文档和两种算
  • 从詹金斯以前的构建中提取参数

    我正在开发 Jenkins 版本 2 32 1 管道 我想提取在之前的工作构建中选择的参数 在我们之前的 Jenkins 实例 1 627 中 我们使用jenkins model Jenkins instance getItem job l
  • 在 Python 中与无限循环一起运行服务器

    我有以下代码 usr bin python import StringIO import subprocess import os import time from datetime import datetime from PIL imp
  • 如何使用 Laravel 迁移

    我正在使用 PHP 的 Laravel 框架进行开发 我想使用迁移来创建和操作表 这些是我采取的步骤 我用命令创建迁移php artisan migrate make create users table 它创建一个迁移文件 并在其 up
  • 在同一像素上使用 setPixel() 和 getPixel() 后位图像素值不同

    我正在为一个班级项目开发一个隐写术应用程序 它允许用户在另一个图像中编码秘密消息图像 我用Bitmap getPixel x y 修改像素整数值以包含消息值后检索像素信息 然后我用了Bitmap setPixel x y 将修改后的像素放置
  • Cypher 中类似操作的 Neo4j 关系命名约定

    我知道命名关系缺乏约束 尽管很难获得一个指导方针并在我们可能遇到的所有关系上使用它 你会选择这样的东西吗 u User LIKES gt p Post u User LIKES gt c Comment 然后根据标签进行查询 或者是这样的
  • 禁用 Grails 插件

    在我的 Grails 应用程序中 我想在运行单元测试时阻止加载 Searchable 插件 我尝试在 Bootstrap 类中使用以下代码来执行此操作 def grailsApplication def init servletContex