【问题标题】:Grails 2.2.X Plugin Development - Plugin DependenciesGrails 2.2.X 插件开发——插件依赖
【发布时间】:2013-07-03 09:49:17
【问题描述】:

我完全不知道如何以及在何处在 Grails 2.2.X 中指定我自己的插件依赖项 文档 (Understanding Plugin Load Order) 说您可以在插件描述符类 MyGrailsPlugin.groovy 中指定依赖项。然而,“Upgrading from”一章说只考虑 pom 依赖项。据我了解,这个不清楚的陈述,只有当我将 BuildConfig 中的依赖项指定为编译依赖项时才会使用它。

使用 dependsOn 给我的主应用程序带来了一些问题(即使存在插件也无法解决插件中的依赖项 - 我认为一些通配符问题 "def dependsOn =['jquery-ui': "* > 1.8.24" ]")。

插件依赖项对我起作用的唯一方法是在 BuildConfig (MyPlugin) 中指定它:

grails.project.work.dir = 'target'

grails.project.dependency.resolution = {
   inherits 'global'
   log 'warn'

   repositories {
      grailsCentral()

      mavenLocal()
      mavenCentral()
   }

   plugins {
      build(':release:2.2.1', ':rest-client-builder:1.0.3') {
         export = false
      }
      compile ":resources:1.1.6"
      compile ":jquery:1.8.3"
      compile ":jquery-ui:1.8.24"
   }
}

但我的应用程序使用 1.2 版的资源插件。当我运行应用程序时,它总是询问我是否要升级到 1.1.6。

所以问题是,我应该如何以及在哪里指定我的依赖项。

谢谢, 马特奥

【问题讨论】:

  • 如果一个 grails 应用程序/插件被 mavenized,是的,在这种情况下依赖是从 pom.就您而言,由于您在我假设的任何地方都没有提到 maven,因此您应该对 BuildConfig 感到满意。最好的例子就在你面前,资源插件在 BuildConfig 中的版本是 1.1.6,所以它总是要求升级。将其更改为 1.2。

标签: grails grails-plugin grails-2.0


【解决方案1】:

实际上,我使用的是 grails 2.1.0。我在 BuildConfig.groovy 中用 1.2(runtime ":resources:1.2") 替换资源。 然后刷新依赖。效果很好。

【讨论】:

    【解决方案2】:

    在阅读了有关 Grails 插件的更多信息后,我意识到这种行为是有道理的。如果插件指定了其依赖项的某个版本,而您的项目指定了不同的版本,那么您就处于冲突中。您需要使用以下内容从插件中排除依赖并使用您的:

    runtime ":resources:1.2"
    
    compile ':my-plugin:2.0.8', {
       exclude 'resources'
    }
    

    在这种情况下,插件创建者无法保证他的插件将在新版本的依赖项下正常运行。

    关于资源插件依赖。在我看来,最好使用以下

    compile ":resources:1.1.6" {
       export = false
    }
    

    其中不包含插件的依赖项。这应该仅在您定义一些 ApplicationResources.groovy 时使用。如果您在插件中使用此插件中的某些内容,则不应排除资源插件...

    在我看来,您应该在 BuildConfig.groovy 中指定您的插件依赖项

    希望这些东西会在 Grails 的后续版本中得到改进。

    Burt 的进一步阅读: http://www.slideshare.net/burtbeckwith/plugins-21828912

    【讨论】:

      猜你喜欢
      • 2012-09-01
      • 1970-01-01
      • 2013-03-22
      • 2012-03-06
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 1970-01-01
      • 2014-04-25
      相关资源
      最近更新 更多