在 Grails 中创建 war 时从插件中删除特定的 jar
Remove a particular jar from plugin on creation of war in Grails
我在我的 Grails 2.2.4 应用程序中使用 dynamic-jasper:0.6,该插件当前正在导入旧版本的 mysql-connector mysql-connector -java-5.0.4-bin.jar 在某些情况下与我当前的连接器冲突并产生一些问题。我想继续使用插件而不修改它,但也排除特定的 jar 文件,只包含我需要的库。有什么办法可以实现吗?
我尝试从 _Events.groovy 中排除该文件,但它不起作用,这是我的代码
includeTargets << grailsScript("_GrailsInit")
target(main: "The description of the script goes here!") {
eventCreateWarStart = { name, stagingDir ->
ant.delete(dir:"${stagingDir}/WEB-INF/lib/", includes: "mysql-connector*.jar", verbose: true)
}
}
setDefaultTarget(main)
添加你的scripts/_Events.groovy
:
eventCreateWarStart = { name, stagingDir ->
ant.delete(dir:"${stagingDir}/WEB-INF/lib/", includes: "xercesImpl*.jar", verbose: true)
}
以上示例当然适用于xerces
,只需根据自己的喜好更改includes:
掩码即可。如果您已经有闭包 eventCreateWarStart
,只需添加 ant.delete
部分。
然而,对于 mysql-连接器,它很可能在您当前的项目中被引用为 runtime
,您不妨尝试防止它从插件中渗入排除,例如(BuildConfig.groovy
例如 plugins
部分中的条目):
compile(":vaadin:7.3.9") { excludes 'xercesImpl' }
参见 http://grails.github.io/grails-doc/2.4.4/guide/conf.html#configurationsAndDependencies Excluding specific transitive dependencies
我在我的 Grails 2.2.4 应用程序中使用 dynamic-jasper:0.6,该插件当前正在导入旧版本的 mysql-connector mysql-connector -java-5.0.4-bin.jar 在某些情况下与我当前的连接器冲突并产生一些问题。我想继续使用插件而不修改它,但也排除特定的 jar 文件,只包含我需要的库。有什么办法可以实现吗?
我尝试从 _Events.groovy 中排除该文件,但它不起作用,这是我的代码
includeTargets << grailsScript("_GrailsInit")
target(main: "The description of the script goes here!") {
eventCreateWarStart = { name, stagingDir ->
ant.delete(dir:"${stagingDir}/WEB-INF/lib/", includes: "mysql-connector*.jar", verbose: true)
}
}
setDefaultTarget(main)
添加你的scripts/_Events.groovy
:
eventCreateWarStart = { name, stagingDir ->
ant.delete(dir:"${stagingDir}/WEB-INF/lib/", includes: "xercesImpl*.jar", verbose: true)
}
以上示例当然适用于xerces
,只需根据自己的喜好更改includes:
掩码即可。如果您已经有闭包 eventCreateWarStart
,只需添加 ant.delete
部分。
然而,对于 mysql-连接器,它很可能在您当前的项目中被引用为 runtime
,您不妨尝试防止它从插件中渗入排除,例如(BuildConfig.groovy
例如 plugins
部分中的条目):
compile(":vaadin:7.3.9") { excludes 'xercesImpl' }
参见 http://grails.github.io/grails-doc/2.4.4/guide/conf.html#configurationsAndDependencies Excluding specific transitive dependencies