2012-07-04 40 views
0

我在資源插件1.1.6的Grails 2.0.3上運行應用程序。Grails 2.0:運行多個實例時缺少資源

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

該應用程序是沒有任何丟失的資源運行良好:

我運行的應用程序

與運行一審2個實例時有丟失的資源。

編譯第二個實例:

grails clean; grails compile 

這個命令我刷新初審後,我看到的是,資源(圖片,消息)丟失。 請注意,我正在運行具有相同應用程序名稱的應用程序。我檢查了.grails/2.0.3/project /,並且當我爲第二個實例運行grails時,似乎資源正在被刪除。

如何區分這兩個實例以避免干擾?

我的配置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' 
    } 
} 

}

任何人都經歷了同樣的問題?我很感激有人能幫助我。 謝謝

回答

0

嘗試爲每個實例指定一個新的工作目錄。默認的是一樣的東西

<home>/.grails/ 

嘗試......

grails -Dgrails.work.dir=/home/instance2 -Dserver.port=8081 run-app 
+0

我在不同的目錄下運行應用程序,但是當我編譯它們時它們都以.grails/projects/{application_name}結尾,並且由於它們具有相同的名稱,所以第二個實例將覆蓋第一個實例的資源。 – user1501362

+0

我更新了我的解決方案,嘗試指定grails.work.dir。希望可以使用相同的應用程序名稱,但使用不同的端口。 – Tri

+0

非常感謝。這工作和解決了這個問題。看來這只是Grails 2.0的問題。 – user1501362

0

顯然,這無關使用資源插件。您可能需要不同的應用程序名稱才能在同一臺計算機上運行它們。正如已經指出的那樣,您需要單獨的文件夾以及同一臺計算機上的這兩個或多個應用程序的單獨應用程序名稱以具有單獨的文件夾。