2016-04-20 95 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 
    } 
}