2017-01-25 10 views
0

В моем проекте у меня есть зависимость от компиляции в банке в репозитории соната, которая, в свою очередь, зависит от банки, которую я имею только в качестве локальной копии в своей файловой системе.Игнорировать зависимую версию jar в градирном сборке

Чтобы получить доступ к обеим баночкам моему build.gradle выглядит следующим образом:

dependencies { 
    compile fileTree(dir: './3rdparty/mrcp4j/lib', include: ['*.jar']) 
    compile group: 'net.sourceforge.halef', name: 'cairo-client', version: '0.1-SNAPSHOT' 
} 

Теперь П Каирского-клиента банка, что я тяну из Sonatype содержит ссылку на версию 0.2 из mrcp.jar как следует

<dependency> 
    <groupId>org.mrcp4j</groupId> 
    <artifactId>mrcp4j</artifactId> 
    <version>0.2</version> 
    <scope>compile</scope> 
</dependency> 

поставщиков Каирской-client.jar не опубликовал mrcp4j.jar как ThirdParty или аналогичные, но, казалось, опираясь на копии в их локальном хранилище Maven.

Строка не работает, потому что град не может соответствовать указанной версии той, которую я могу предоставить.

Could not find org.mrcp4j:mrcp4j:0.2. 
    Searched in the following locations: 
    https://repo1.maven.org/maven2/org/mrcp4j/mrcp4j/0.2/mrcp4j-0.2.pom 
    https://repo1.maven.org/maven2/org/mrcp4j/mrcp4j/0.2/mrcp4j-0.2.jar 
    https://jcenter.bintray.com/org/mrcp4j/mrcp4j/0.2/mrcp4j-0.2.pom 
    https://jcenter.bintray.com/org/mrcp4j/mrcp4j/0.2/mrcp4j-0.2.jar 
    https://oss.sonatype.org/content/repositories/snapshots/org/mrcp4j/mrcp4j/0.2/mrcp4j-0.2.pom 
    https://oss.sonatype.org/content/repositories/snapshots/org/mrcp4j/mrcp4j/0.2/mrcp4j-0.2.jar 
Required by: 
    org.jvoicexml:org.jvoicexml.implementation.mrcpv2:0.7.8 > net.sourceforge.halef:cairo-client:0.1-SNAPSHOT 
    org.jvoicexml:org.jvoicexml.implementation.mrcpv2:0.7.8 > net.sourceforge.halef:cairo-sip:1.0-SNAPSHOT 

Можно указать версию для баночки в файловой системе или игнорировать требуемый номер версии и заменить требуемые атрибуты?

ответ

0

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

Мое обходное решение основано на игнорировании зависимой баночки во всех конфигурациях и сохранении ссылки на локальную в файловой системе.

Так все, что я сделал, добавив следующие строки

configurations.all { 
    exclude group: ' org.mrcp4j', module:'mrcp4j' 
} 

зависимость к файловой системе должен оставаться, чтобы обеспечить банку.