Ограничение транзитивной зависимости областью выполнения в Maven

У меня есть 2 проекта, использующих Maven. Первая — это библиотека, содержащая служебные классы и методы. Второй проект — это реальное приложение, которое имеет библиотеку в качестве зависимости. В моей библиотеке используется сторонняя библиотека.

Итак, вот зависимости:

  • Моя библиотека: зависит от сторонней библиотеки
  • Мое приложение: зависит от моей библиотеки

Однако я не хочу, чтобы классы сторонней библиотеки были доступен во время компиляции в моем приложении. Это связано с тем, что приложение поддерживается большой командой, и я хочу, чтобы люди случайно не использовали методы из сторонней библиотеки в приложении, учитывая, что некоторые имена классов и некоторые имена методов в них похожи. Конечно, сторонняя библиотека должна быть доступна в моем приложении во время выполнения.

Если бы область действия для всех моих зависимостей была compile, это не достигло бы моей цели. Есть ли способ добиться этого в Maven 3?

15
задан Juanal 2 February 2017 в 05:19
поделиться