Встречается на собеседованиях • сегодня
Что такое проблема зависимостей в теневых JAR
Проблема зависимостей в теневых JAR (fat JAR) возникает, когда библиотеки, объединённые в один JAR, конфликтуют из-за дублирования классов или несовместимых версий. Это может привести к `NoSuchMethodError`, `ClassNotFoundException` или другим ошибкам во время выполнения.
Пример конфликта:
```java
// Библиотека A v1.0 содержит класс:
public class Utils {
public static void foo() {}
}
// Библиотека B v2.0 изменяет класс:
public class Utils {
public static void foo() {}
public static void bar() {} // Новый метод
}
```
Если обе версии попадут в fat JAR, JVM загрузит только одну (обычно первую из classpath), что вызовет ошибки при вызове `bar()`.
**Решение:**
- Использовать `maven-shade-plugin` с трансформацией (переименование пакетов).
- Анализировать дерево зависимостей (`mvn dependency:tree`).
- Исключать дубликаты через `` в `pom.xml`.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы