Я использовал Знатока экстенсивно для моих персональных проектов, но теперь я должен настроить его для малочисленной команды 5-7 разработчиков.
Мой основной вопрос, каков рекомендуемый подход для руководящих зависимостей к коммерческим библиотекам, которые не доступны в Знатоке repos? Как я могу управлять зависимостью этих коммерческих библиотек по библиотекам с открытым исходным кодом, которыми они пользуются и доступны в Знатоке repos?
Кроме того, есть ли какие-либо другие рекомендации и советы, которые я должен знать или реализовать для создания установки максимально эффективной, эффективной, и гладкой?
Заранее спасибо.
Вы, вероятно, захотите начать с создания собственного внутреннего Maven-репозитория с помощью Nexus или Artifactory. Настройте его как хранилище для ваших собственных артефактов и как кэширующий прокси для Central и любых других внешних хранилищ, из которых вам нужно получать материал.
Затем создайте только бинарные POM-файлы для каждой из коммерческих библиотек, включая зависимости от опубликованных библиотек, от которых они зависят. Загрузите файлы POM и соответствующие JAR-файлы в свой внутренний репозиторий в требуемой структуре. Убедитесь, что эти POM и JAR не видны за пределами вашей группы / организации ... в зависимости от того, что разрешает / требует лицензия на соответствующие коммерческие продукты.
Конечно, это означает, что вы не сможете сделать свои приложения (которые зависят от этих библиотек) общедоступными через Maven. Но вы, вероятно, уже учли это в своем планировании.
Я настоятельно рекомендую использовать родительский модуль super с некоторыми общими настройками, такими как
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<source>1.6</source><!-- java version -->
<target>1.6</target>
<encoding>UTF-8</encoding><!-- your source encodings -->
<debug>true</debug><!-- false for production -->
<optimize>false</optimize><!-- true for production -->
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
, на самом деле там много этих «общих» настроек (плагины отчетов), родительский pom гарантирует, что все используют одно и то же, и изменение достигнет всех
ну а что еще - помимо собственного репозитория maven (попробуйте nexus) -?