У меня проблема в проекте, который использует две зависимости. Один для стороннего lib, который использует Guava 10.0.1, и один для моего, где я использую Guava 14.0.1.
Проблема заключается в том, что существует метод в 10.0.1, который был удален в 14.0.1 и, наоборот, класс, который был добавлен после 10.0.1.
Так что я получаю либо NoSuchMethodError, либо NoClassDefFoundError.
Есть ли способ обойти это?NoSuchMethodError - зависимости от Maven используют разные зависимости.
4
A
ответ
2
Вы можете использовать более старую версию Guava в своем собственном проекте или сообщить сторонней библиотеке использовать более новую версию (и молиться об этом).
Вы можете использовать тег исключения maven, чтобы убедиться, что сторонняя библиотека не использует собственную версию зависимостей. Пример:
<dependencies>
<dependency>
<groupId>third.party</groupId>
<artifactId>lib</artifactId>
<version>1.0</version>
<scope>compile</scope>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
Смежные вопросы
- 1. тест Maven зависимости от зависимости
- 2. Определение зависимости от другой зависимости явно Maven
- 3. Maven зависимости от зависимостей
- 4. Требование явной зависимости maven от транзитивной зависимости
- 5. Зависимости Maven от javax.persistence JAR?
- 6. Исключить зависимости maven от springboot
- 7. Hadoop Maven Зависимости от MapReduce
- 8. разные зависимости вкуса
- 9. Java-зависимости в зависимости от операционной системы?
- 10. Как иметь разные зависимости в зависимости от семейства ОС
- 11. Maven использует разные зависимости в зависимости от того, на какой машине он работает?
- 12. Получить зависимости от зависимости
- 13. Исключение зависимости от зависимости
- 14. Maven - как разместить файлы jar зависимости зависимости от сборки?
- 15. Maven 2 - определить версию зависимости от версии транзитивной зависимости
- 16. Maven + Tycho, добавляя зависимости Maven
- 17. maven условные зависимости
- 18. Maven. Транзитные зависимости
- 19. maven не копирует зависимости
- 20. HttpConstraintElement: конфликт зависимости maven
- 21. Maven Исходный код Зависимости
- 22. Исключение рекурсивной зависимости Maven
- 23. Maven Versioning Submodules Зависимости
- 24. GWT Maven зависимости
- 25. Maven проблема транзитивной зависимости
- 26. Обновление Maven Зависимости eclipse
- 27. gcm ошибка зависимости maven
- 28. Граф зависимости Maven
- 29. Python разные функции в зависимости от ввода
- 30. Создайте разные объекты в зависимости от типа
Я уже понял эти возможности. К сожалению, тег исключения не является вариантом, потому что сторонняя библиотека использует метод, который был удален в более поздней версии Guava. Кроме того, вероятность обновления сторонней библиотеки ничтожно, потому что она больше не поддерживается. – martin