Мне нужно пропатчить подкомпонент mule-transport-jms мула для этой ошибки (http://www.mulesoft.org/jira/browse/MULE-3983). "Исправить" просто, но меня раздражает развертывание пропатченного компонента в моем локальном репозитории Maven (управляется Nexus) и продолжайте хорошо играть со всеми другими компонентами мула.
То, что я хочу, это пометить мои недавно пропатченные mule-transport-jms как исправленные номера версии 2.2.1, и от этого зависят мои компоненты esb, а также другие компоненты mule (например, mule-core), которые все еще установить на версию 2.2.1. Потому что pom mule-transport-jms читает (частично) так:
<parent>
<groupId>org.mule.transports</groupId>
<artifactId>mule-transports</artifactId>
<version>2.2.1</version>
</parent>
<artifactId>mule-transport-jms</artifactId>
<packaging>bundle</packaging>
<name>JMS Transport</name>
<description>A Mule transport for Jms Connectivity.</description>
Есть много взаимозависимостей, которые зависят от версии 2.2.1. Если изменить родительскую версию (как показано выше) на 2.2.1-patch, то все разрушится, добавив тег версии, чтобы он выглядел так:
<parent>
<groupId>org.mule.transports</groupId>
<artifactId>mule-transports</artifactId>
<version>2.2.1</version>
</parent>
<artifactId>mule-transport-jms</artifactId>
<version>2.2.1-patched</version>
<packaging>bundle</packaging>
<name>JMS Transport (ZFP patched)</name>
<description>A Mule transport for Jms Connectivity.</description>
ломает ряд зависимостей, которые предположительно объявлены в pom родителя (нет упоминаний о тех сбойных зависимостях где-либо в этом проекте).
Я, вероятно, могу взломать Nexus, чтобы всегда получать мою исправленную версию, когда запрашивается mule-transport-jms v2.2.1, но это грязно. Я действительно хотел бы иметь возможность просто указать, какой именно GAV использовать в моем клиентском pom, и когда придет время обновляться (при условии, что ошибка исправлена, скажем, в v3.0), просто обновить мой клиентский pom, чтобы он указывал на версию 3.0.0 и мой патч, jar 2.2.1 просто игнорируется, и взлома нексуса не требуется. Очевидно, что я также хотел бы не проверять каждый компонент mule, обновлять их poms и повторно развертывать их как исправленные 2.2.1.
Есть мысли?