2016-10-07 11 views
0

Я переношу веб-сервис AXIS 2 SOAP в существующий проект Grails 2.4.4.Включая файл в WEB-INF/lib

Он работает безупречно при запуске из среды IDE, но не в рамке WAR.

Я отследил это до addresing.mar НЕ копируется в каталог WEB-INF lib. Если я сам копирую этот файл, тогда все будет хорошо.

Мы используем Jenkins для CI и используем плагин Grails для составления и упаковки файла WAR.

Этот файл не содержит файл addresing.mar. Также при запуске команды войны Grails она не включена.

Я пробовал много способов, чтобы это было включено. Штепсельная вилка AXIS просто разрушает компиляцию до такой степени, что она непригодна для использования.

Я только что потратил 2 дня на поиски в Интернете и попытался найти что-либо, что я могу найти в любой комбинации.

Мы сейчас добираемся до точки, которую мы рассматриваем после обработки файла войны и добавления файла addresing.mar.

Хотя это будет работать, это не поможет мне понять, что я делаю неправильно!

Любая помощь в оценке.

ответ

0

Попробуйте сохранить файл в файле/src. Grails автоматически создает внешние библиотеки при сохранении внутри этой папки.

Примечание: Это применимо только к Grails версии, работающие менее 3.xx

0

Я не знаю слишком много о AXIS 2 SOAP и файл упоминается addressing.mar, но если он доступен в проекте при строительстве войны файл, который вы можете использовать параметр 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 в ручном