0

我正在使用资源插件 1.1.6 在 grails 2.0.3 上运行应用程序。

运行 2 个应用程序实例时缺少资源

运行第一个实例:

grails clean; grails compile; grails -Ddisable.auto.recompile=true -Dserver.port=8081 run-app

该应用程序运行良好,没有任何资源丢失。

编译第二个实例:

grails clean; grails compile

在此命令之后,我正在刷新第一个实例,我看到资源(图像、消息)丢失了。请注意,我正在运行具有相同应用程序名称的应用程序。我检查了 .grails/2.0.3/project/ ,当我为第二个实例运行 grails clean 时,似乎资源正在被删除。

我怎样才能将这两个实例分开以不干扰?

我的资源配置 Config.groovy 是:

grails.resources.adhoc.patterns = ['/images/*', '/css/*', '/js/*', '/plugins/*']

grails.resources.modules = {
'core' {
    defaultBundle 'core-ui'

    resource url: '/css/all.css', attrs: [ media: 'screen' ]
    resource url: '/css/lt7.css', attrs: [ media: 'screen' ],
             wrapper: { s -> "<!--[if lt IE 8]>$s<![endif]-->" }
}

'ui' {
    defaultBundle 'core-ui'

    resource url: '/js/main.js', disposition: 'head'
    resource url: '/js/datatable.js', disposition: 'head'
    resource url: '/js/slideBlock.js', disposition: 'head'
}

'input' {
    defaultBundle "input"

    resource url: '/js/form.js', disposition: 'head'
    resource url: '/js/checkbox.js', disposition: 'head'
    resource url: '/js/clearinput.js', disposition: 'head'
}

'panels' {
    defaultBundle 'panels'

    resource url: '/js/panels.js', disposition: 'head'
}

'jquery-validate' {
    defaultBundle "jquery-validate"

    resource url: '/js/jquery-validate/jquery.validate.min.js', disposition: 'head'
    resource url: '/js/jquery-validate/jquery.metadata.js', disposition: 'head'
    resource url: '/js/jquery-validate/additional-methods.min.js', disposition: 'head'
}

overrides {
    'jquery-theme' {
        resource id:'theme', url:'/jquery-ui/themes/app/jquery-ui-1.8.7.custom.css'
    }
}

}

有人遇到过同样的问题吗?如果有人可以帮助我,我将不胜感激。谢谢

4

2 回答 2

0

显然这与使用资源插件无关。您可能需要不同的应用程序名称才能在同一台机器上运行它们。正如已经指出的那样,您需要单独的文件夹以及同一台机器上的这两个或更多应用程序的单独应用程序名称才能拥有单独的文件夹。

于 2012-07-17T04:51:35.310 回答
0

尝试为每个实例指定一个新的工作目录。默认值类似于

<home>/.grails/

尝试这个 ...

grails -Dgrails.work.dir=/home/instance2 -Dserver.port=8081 run-app
于 2012-07-12T18:33:17.993 回答