我正在将AXIS 2 SOAP webservice移植到现有的grails 2.4.4项目中。
从IDE运行时可以完美运行,但不能运行WAR。
我已将此跟踪到addresing.mar而不是复制到WEB-INF lib目录。如果我自己复制这个文件,那么一切正常。
我们正在使用Jenkins进行CI并使用Grails插件来编译和打包WAR文件。
这不包括addresing.mar文件。此外,在运行Grails war命令时,它不包括在内。
我尝试了许多方法来将其包括在内。 AXIS插件只会破坏编译,使其无法使用。
我花了两天时间用谷歌搜索并尝试了几乎所有组合中都可以找到的东西。
现在我们正在考虑对war文件进行后期处理并直接添加addresing.mar文件。
虽然这样可行但却无法帮助我理解我做错了什么!
最值得赞赏的任何帮助。
答案 0 :(得分:0)
尝试将文件保存在/ src文件中。当保存在此文件夹中时,Grails会自动装配外部库。
注意:这仅适用于运行小于3.x.x的Grails版本
答案 1 :(得分:0)
我对AXIS 2 SOAP和提到的addressing.mar
文件了解不多,但如果在构建war文件时它在项目中可用,则可以使用grails.war.resources
中的BuildConfig.groovy
参数并按以下方式将其复制到lib目录中:
grails.war.resources = { stagingDir, args ->
copy(file: "path/to/addressing.mar", todir: "${stagingDir}/WEB-INF/lib/")
}
有关手册
中grails.war.resources的更多信息