Давайте начнем с простого вопроса: есть центральный репозиторий, где (почти) все можно найти: http://search.maven.org/ В некоторых компаниях также размещается собственный репозиторий. Например, JBoss.
Существует также Sonatype repository, если вы хотите разместить программное обеспечение с открытым исходным кодом самостоятельно.
Репозиторий - это простая файловая структура, содержащая файлы jar и некоторые метаданные XML. Макет происходит из мира maven, но почти любая система сборки java имеет некоторый способ получить артефакты из центра maven.
Полное разрешение зависимостей немного отличается от того, что вы знаете от npm. Там каждый пакет, на который вы зависите, имеет свои зависимости. Некоторые из них могут конфликтовать. В java-мире эти переходные зависимости должны быть сопоставлены - необходимо определить общую версию. Обычно это делается системой сборки. Таким образом, ваше «требование» - это зависимость, которая означает, что jar закончится в пути к классам, и поэтому классы будут доступны для вашего кода. В этом процессе нет динамических изменений (добавление баннеров в путь к классам после запуска jvm).
Зависимости настраиваются в файле pom.xml (если вы используете maven) файл build.gradle (если вы идете в сторону градуса). Существует также sbt или Ivy + Ant.
Обычно ваша система разрешения артефактов также запускает сборку. Это имеет смысл, поскольку вам необходимо определить путь к классу для компиляции ваших java-источников. Если вы будете использовать эти инструменты только для копирования этих файлов jar, вам все равно нужно найти способ передать все это в компилятор. Что скучно после третьей зависимости.
Maven поставляется с условным обозначением по разделу конфигурации. См. 5 Minute tutorial. Интеллектуальная интеграция очень хороша.
Gradle использует Groovy (язык сценариев на основе java vm) для достижения аналогичных целей, но более открыт для того, что происходит. Но это усложняет интеграцию и IDE - в зависимости от того, насколько вы креативны со своими сборками. gradle user guide - неплохое место для начала.
Существует также Ant + Ivy. Ant - это простая система сборки, в которой вы определяете задачи. Плющ добавляет к нему зависимость.
Никогда не упоминал об этом: sbt (в основном из мира Scala) или leiningen (в основном clojure) - все языки на основе JVM.
Моя рекомендация была бы maven - для этого требуется простой pom.xml, где вы можете добавить зависимости - компиляция будет запущена из коробки, если вы будете следовать ее структуре структуры каталогов, что довольно часто встречается в мире java. И большинство IDE будут работать. Если ваша сборка требует более сложных шагов сборки, у gradle есть хороший путь миграции.
В этом 5-минутном учебном пособии используется архетип (шаблон проекта в maven), чтобы вы начали. Если вы это сделали, вы сможете просто открыть эту папку в IntelliJ и продолжить оттуда.
Этот вопрос является слишком широким или ищет внешние указатели (документация, учебники) или основанное на мнениях (вы даже можете использовать Ivy, а не maven), в любом из трех случаев, имеющих право на закрытие –
Вопреки javascript, вы необходимо скомпилировать и создать Java-приложения, что является хорошей причиной для управления построением и зависимостями в одном и том же инструменте. И интеграция с большинством IDE хороша (или достаточно хороша), поэтому она даже не мешает. –