У меня возникла проблема, когда в моем пути к классам появляется несколько версий одного и того же класса. Класс, о котором идет речь, - javax.ws.rs.core.UriBuilder
. Версия, которую я хочу использовать, вводится javax.ws.rs:javax.ws.rs-api:2.0.1
. Тем не менее, мы также используем клиентскую библиотеку отдыха Jira, которая имеет зависимость от более старой версии трикотажа (com.sun.jersey:jersey-core
), в которую включены пакеты java.ws в комплекте.Исключить пакет из зависимостей конечности
Вот пример фрагмент из файла сборки:
dependencies {
compile 'com.atlassian.jira:jira-rest-java-client-core:2.0.0-m31'
compile 'javax.ws.rs:javax.ws.rs-api:2.0.1'
compile 'org.glassfish.jersey.core:jersey-client:2.17'
}
Я не могу удалить com.sun.jersey:jersey-core
, как он использует другое название пакета из новой версии и может вызвать класс не DEF нашел исключение в клиенте Jira.
Насколько я могу сказать, мои варианты на данный момент являются:
- Revert с использованием Джерси 1.x и его реализация jsr311
- Как-то есть Gradle исключить
javax.ws
пакет из старого трикотажа клиент.
Я бы хотел использовать новую версию трикотажа, поэтому # 2 будет моим идеальным решением, но я не уверен, что это возможно. Кто-нибудь знает, как это сделать? Если это невозможно, я открыт для других предложений.
Проблема заключается в том, что javax не является транзитивной зависимостью, он включен в jQuery. http://mvnrepository.com/artifact/com.sun.jersey/jersey-core/1.17 См. пакеты javax.ws в разделе пакетов. – matheeeny
не http://mvnrepository.com/artifact/org.glassfish.jersey.core/jersey-client/2.17 это то, что вы добавляете в зависимости от вашего вопроса? Здесь javax.wx.rs - зависимость. – RaGe
Да, я добавляю org.glassfish.jersey.core, но Jira приносит con.sun.jersey, у которого javax.ws.rs включен в его банку. – matheeeny