简体   繁体   中英

How to run a local plugin in Grails 2.0?

In Grails, there is a variant how to include local plugin from sources. According to docs, one may type in BuildConfig.groovy :

// Useful to test plugins you are developing.
grails.plugin.location.shiro =
        "/home/dilbert/dev/plugins/grails-shiro"

// Useful for modular applications where all plugins and
// applications are in the same directory.
grails.plugin.location.'grails-ui' = "../grails-grails-ui"

The problem is that it doesn't work in Grails 2.0.RC1. I've tried to do grails clean , to install plugin with grails install-plugin and to place it to BuildConfig.groovy . Still unable to resolve.

This works for me

grails.plugin.location.shiro = "/home/dilbert/dev/plugins/grails-shiro"

Where shiro is the name of the plugin (not the name of the directory it's in). Make sure the path to the plugin is either an absolute path or the relative path to the plugin from the application.

I've found that this sometimes doesn't work if the plugin is listed in application.properties or BuildConfig.groovy , so if it is, remove it, then execute grails clean and restart the app.

You can also install the plugin into your local maven cache.

The documentation speaks about this:

3.7.10 Deploying to a Maven Repository

maven-install

The maven-install command will install the Grails project or plugin artifact into your local Maven cache:

grails maven-install

This has the advantage of allowing you to include the plugin in your parent application using the more common ":plugin-name:version" syntax

Which allows your application to determine the best place to retrieve the plugin when in production. From an internal maven-repo or equivalent.

With Grails 3.x there is another way to do this. Suppose you've a grails app and plugin (source code) inside the same project directory:

/my-project
---/my-app
---/grails-shiro

To run your local plugin, you must create a settings.gradle file in the my-project directory specifying the location of your application and plugin:

 include 'my-app', 'grails-shiro'

Then add the dependency in your application's build.gradle:

 compile project(':grails-shiro')

You've done.

Look at the plugins documentation for more information.

如果插件名称包含短划线,请使用引号括起插件名称:

grails.plugin.location.'plugin-name-with-dashes' = "<path>"

You can add the .zip file for the plugin in your /lib and it will be installed.

Example:

compile ":myPlugin:1.0"

File:

/lib/myPlugin-1.0.zip

Note: You have to zip the content of the plugin folder.

Source: http://grails.1312388.n4.nabble.com/Insert-own-local-plugin-into-build-config-td4646704.html

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM