Зависимости двоичной библиотеки в Maven / Eclipse - PullRequest
4 голосов
/ 11 февраля 2011

Я новичок в Maven и пытаюсь разобраться, как справиться с ситуацией, когда у меня есть набор двоичных библиотек (.jars), которые я хочу включить в несколько проектов, управляемых Maven.

Библиотеки не имеют файла pom.xml и недоступны ни в одном репозитории Maven.

Как мне настроить Maven / m2eclipse для включения этих библиотек в другие мои проекты?Я предполагаю, что мне нужно настроить какой-нибудь "проект-оболочку" Kine of Maven, чтобы справиться с этим?

Ответы [ 2 ]

2 голосов
/ 11 февраля 2011

Если вы командное программирование, используйте @limc post.

Если это только для вас, есть несколько способов справиться с этим:

Существует плагин maven для добавленияjar в ваш локальный репозиторий.

mvn install:install-file -DgroupId=<your_group_name>  \
-DartifactId=<your_artifact_name>  \
-Dversion=<snapshot>  \
-Dfile=<path_to_your_jar_file>  \
-Dpackaging=jar \
-DgeneratePom=true

Или вы можете ссылаться на файл jar как системную зависимость, например:

    <dependency>
        <groupId>com.package</groupId>
        <artifactId>id</artifactId>
        <version>5.2</version>
        <scope>system</scope>
        <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/my.jar</systemPath>
    </dependency>
1 голос
/ 11 февраля 2011

Сначала вам нужно будет установить банки в репозиторий Maven, указанный в сообщении @ Will. Имейте в виду, что эти банки существуют только в вашем репозитории Maven. Другими словами, если вы делитесь этим кодом проекта с другими разработчиками, они должны делать то же самое в своих локальных репозиториях, иначе они не смогут найти банки.

Более элегантное решение для групповой разработки, подобное этому, - разместить Nexus на каком-нибудь локальном сервере. Что делает Nexus, так это группирует все внешние репозитории в одно место (думайте об этом как о прокси). Итак, вы захотите установить эти jar-файлы в Nexus в «размещенном репозитории» (кстати, в Nexus есть 3 типа репо). Затем настройте развитие всех членов вашей команды на использование Nexus вместо Интернета. Таким образом, когда ваш член команды проверяет ваш проект в своих локальных рабочих пространствах, все будет гладко, и они также получат банки автоматически. Вам не нужно настраивать внешние репозитории в вашем pom.xml таким образом. :)

...