2016-04-20 93 views
0

我們的項目通過grails jquery插件使用jquery 1.11.1版本,並通過資產管道清單(app.js)導入。 最近,一個團隊成員添加了jasper插件,其中包括jquery.js(v1.6.2)文件,它似乎通過jQuery插件版本(1.11.1)將其傳遞到管道輸出文件,無論我做什麼。這發生在jenkins使用grails包裝(使用clean-all war)的版本上。出於某種原因,當通過終端(grailsw war)完成時,它在本地Windows機器上工作得很好。 這裏是app.js包括grails jasper插件和jquery插件與資產管道衝突

//= require jquery 
//= require js/jquery-ui-1.10.4.custom.min 
//= require bootstrap 

我曾嘗試:

  1. 添加插件排除(grails.assets.plugin 「碧玉」 .excludes = [ 「的jquery.js」] 。這沒有任何影響。

  2. 添加grails.assets.excludes = [「jquery.js」]確實排除了文件(查看日誌),但不知怎的,1.6.2版仍然找到了方法到已編譯的應用程序.js

有什麼建議嗎? jasper插件jira似乎不存在,因此無法向他們提出這個問題。理想情況下,他們不應該在我看來包含一個jQuery版本。

+0

你使用什麼版本的Jasper? –

+0

我正在使用1.11.0 –

回答

0

我最終刪除了jquery grails插件,並轉移到所有web框架的資產管理。
然後將require路徑改爲指向bower下載的jquery文件。

//= require jquery/dist/jquery 
//= require bootstrap/dist/js/bootstrap 
0

如果正在使用Grails 2,一種替代workaroud是去除的jquery文件附帶碧玉插件,可以做到這一點與一個事件(_Events.groovy文件)如下

eventCompileEnd = { msg -> 
    try{ 
     new File("target/work/plugins/jasper-1.11.0/web-app/js/jquery.js").delete() 
    }catch(java.io.FileNotFoundException e){ 
     log.error e.getMessage(), e 
    } 
}