grails jasper插件和jquery插件与资产管道冲突

时间:2016-04-20 18:26:53

标签: grails jenkins-plugins grails-plugin

我们的项目通过grails jquery插件使用jquery 1.11.1版本,并通过资产管道清单(app.js)导入。 最近一个团队成员添加了jasper插件,其中包括jquery.js(v1.6.2)文件,无论我做什么,它似乎通过jquery插件版本(1.11.1)传递到管道的输出文件。这发生在使用grails包装器的jenkins构建中(使用clean-all war)。出于某种原因,当通过终端(grailsw war)完成时,它在本地Windows机器上工作得很好。 这是app.js包含

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

我试过了:

  1. 添加插件排除(grails.assets.plugin。" jasper" .excludes = [" jquery.js"]。这没有任何效果

  2. 添加grails.assets.excludes = [" jquery.js"]排除文件肯定(查看日志)但不知何故1.6.2版本仍然找到了编译方式的application.js

  3. 有什么建议吗? jasper插件jira似乎不存在,所以无法向他们提出这个问题。理想情况下,我认为他们不应该包含jquery版本。

2 个答案:

答案 0 :(得分:0)

我最终删除了jquery grails插件,并转移到所有Web框架的bower资产管理。
然后将require路径更改为指向bower下载的jquery文件。

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

答案 1 :(得分:0)

如果您使用的是Grails 2,另一种方法是删除jasper插件中包含的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
    }
}