首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁止grails加载某些在启动时默认加载的插件?

如何禁止grails加载某些在启动时默认加载的插件?
EN

Stack Overflow用户
提问于 2012-12-11 03:09:10
回答 2查看 714关注 0票数 3

我不知道grails会在启动时加载一组默认插件。当使用run-app在dev模式下运行时,这并不明显。但是,当我构建一个war并将其放入应用程序服务器时,内存使用率变得非常高,并且我看到了以下日志片段:

31767 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [i18n] with version [2.1.0] loaded successfully 31770 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [logging] with version [2.1.0] loaded successfully 31771 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [core] with version [2.1.0] loaded successfully 32039 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [groovyPages] with version [2.1.0] loaded successfully 32053 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [urlMappings] with version [2.1.0] loaded successfully 32060 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [controllers] with version [2.1.0] loaded successfully 32076 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [domainClass] with version [2.1.0] loaded successfully 32079 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [dataSource] with version [2.1.0] loaded successfully 32547 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [cacheHeaders] with version [1.1.5] loaded successfully 32548 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [redis] with version [1.3.2] loaded successfully 32549 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [resources] with version [1.1.6] loaded successfully 32549 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [services] with version [2.1.0] loaded successfully 32551 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [servlets] with version [2.1.0] loaded successfully 32561 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [mimeTypes] with version [2.1.0] loaded successfully 32571 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [codecs] with version [2.1.0] loaded successfully 32579 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [filters] with version [2.1.0] loaded successfully 32579 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [validation] with version [2.1.0] loaded successfully 32583 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [scaffolding] with version [2.1.0] loaded successfully 32598 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [converters] with version [2.1.0] loaded successfully 32664 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [lesscssResources] with version [1.3.0] loaded successfully 32676 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [cachedResources] with version [1.0] loaded successfully 32684 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [zippedResources] with version [1.0] loaded successfully

我如何禁止加载某些插件,因为我不需要它们?比如说,脚手架插件和domainClass插件(这是一个没有DB连接的HTML5应用程序)

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-11 08:02:37

因此,在通过另一种交流媒介与您联系后,我确认您想要删除:

  1. domainClass
  2. dataSource
  3. validation
  4. scaffolding

让我们从dataSource开始。根据this threadthis follow-up JIRA的说法,可以简单地删除DataSource.groovy (或移除dataSource {}的内容)来阻止插件触发,但是Grails项目负责人Graeme Rocher强调,即使在web服务之外没有持久层,您仍然需要内存中的数据源才能使应用程序正常工作。或者至少通过测试。

据我所知,删除不需要的插件的唯一方法是使用grails.war.resources回调(也就是说,没有办法使用Grail内置的依赖管理功能来处理它)。跟随this link获取如何使用回调来删除任意jars的示例。

票数 1
EN

Stack Overflow用户

发布于 2012-12-11 07:29:03

这些插件应该位于您的application.properties或BuildConfig.groovy中,具体取决于您如何设置这些插件。其中一些插件可能依赖于您安装的插件。

看起来你有资源插件和一些插件来帮助你处理一般的资源。(压缩、缓存、lesscss、cacheHeaders ...)您可能需要所有这些插件。

你也有redis,你有没有看到在生产中没有用到的插件?如果你是这样的话,你总是可以在BuildConfig中有条件地加载它们,在插件闭包旁边,我们执行以下操作:

代码语言:javascript
复制
if (Environment.current in [Environment.DEVELOPMENT, Environment.TEST]) {
  compile ":build-test-data:2.0.2"
}

您可能需要那些您正在查看的插件,因为它们可能内置于grails中。grails的基础拥有相当大的内存空间。你可以有条件地添加你需要的插件,但你不能扔掉所有的插件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13807509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档