Maven: Как включить банки в Eclipse, которые недоступны в репозитории?

Я скопировал JAR в src\main\webapp\WEB-INF\lib.
Я использую затмение. Если я добавлю банки один за другим в Project- > Java Build Path- > Add jars, тогда я Project- > Maven- > Update Project Configuration, они будут удалены Maven. И Eclipse показывает ошибки, которые содержат "xxx не могут быть разрешены".

Env:
Eclipse Java EE IDE for Web Developers.
Version: Indigo Service Release 1
Build id: 20110916-0149

m2e - Maven Integration for Eclipse 1.0.100.20110804-1717

Примечание. Я не хочу создавать свой собственный репозиторий Maven. Он будет использоваться только один раз.
Как мне продолжить?

Ответ 1

Не все библиотеки могут быть найдены в общедоступном репозитории Maven, например, ваши собственные библиотеки или собственные библиотеки. В любом случае сначала вы можете искать репозиторий Maven, возможно, некоторые из них существуют.

Если они действительно не существуют, и вы не хотите устанавливать Nexus или Artifactory, вы можете выбрать один из этих двух способов:

  • установите банки в свой кеш локального хранилища, нет необходимости создавать специальный репозиторий. См. Инструкции для mkyong.

  • другой подход использует системные зависимости, вы просто поместите путь к Jar в файловой системе. Это менее рекомендуемый подход, но если вы действительно хотите, он будет работать. Вот официальная документация .

Ответ 2

Добавьте это Системная зависимость.


Если вы хотите добавить это (это пример использования jquantlib в качестве примера), используйте локальное использование репозитория maven:

mvn install:install-file -Dfile=./jquantlib-0.2.4.jar -DgroupId=org.jquantlib -DartifactId=jquantlib -Dversion=0.2.4 -Dpackaging=jar

Для этого я использую пакетный файл

@echo off

cd lib

CMD /C "mvn install:install-file -Dfile=./jquantlib-0.2.4.jar -DgroupId=org.jquantlib -DartifactId=jquantlib -Dversion=0.2.4 -Dpackaging=jar"
CMD /C "mvn install:install-file -Dfile=./jquantlib-helpers-0.2.4.jar -DgroupId=org.jquantlib -DartifactId=jquantlib-helpers -Dversion=0.2.4 -Dpackaging=jar"
CMD /C "mvn install:install-file -Dfile=./jquantlib-samples-0.2.4-ubber.jar -DgroupId=org.jquantlib -DartifactId=jquantlib-ubber -Dversion=0.2.4 -Dpackaging=jar"
CMD /C "mvn install:install-file -Dfile=./jquantlib-samples-0.2.4.jar -DgroupId=org.jquantlib -DartifactId=jquantlib-samples -Dversion=0.2.4 -Dpackaging=jar"

CMD /C "mvn install:install-file -Dfile=./ta-lib-0.4.0.jar -DgroupId=com.tictactec -DartifactId=ta-lib -Dversion=0.4.0 -Dpackaging=jar"

Вы можете использовать аналогичный файл script для других систем.

Ответ 3

Я считаю, что подход к системной зависимости не должен использоваться, если у вас нет другого выбора, и это потому, что вы теряете всю "мобильность". Конечно, вы можете хранить свои банки в исходной системе управления вместе с вашими исходными файлами проекта, но я не думаю, что это хороший подход...

Используя только install: install-file недостаточно хорош - это действительно разложит банки в надлежащем формате в ваш локальный репозиторий, но что произойдет, когда вы перейдете на другой компьютер и начнете строить там свой проект? Вам нужно будет сделать это еще раз.

Итак, если вы не хотите устанавливать nexus/artifactory (как я полагаю, это лучшее решение), вам, вероятно, следует создать другой репозиторий (только в файловой системе на некоторых ваших серверах) и развернуть (вы можете использовать mvn install: install-file, как было предложено здесь, а затем просто скопировать все дерево). Теперь вы можете настроить веб-сервер Apache и получить доступ к каталогу со всеми своими банками через http. Я не верю, что это лучше, чем подход nexus/artifactory, но это может быть немного легче сделать, если вы знакомы с веб-сервером Apache. Чтобы узнать о своем новом хранилище, вам нужно будет отредактировать файл% MAVEN_HOME%\conf\settings.xml

Ответ 4

Чтобы добавить внешние JAR файлы не в локальный репозиторий, просто щелкните правой кнопкой мыши по основной папке источника и в меню пути сборки выберите "configure build path", затем перейдите на вкладку "Библиотеки" и нажмите "добавить внешние файлы JAR". затем найдите файл JAR (или zip), который вы хотите добавить в качестве библиотеки, и нажмите "ОК".

Поздравляем, теперь вы успешно добавили внешний JAR (или zip) в свой путь сборки, и теперь вы можете импортировать любые классы из этого JAR файла в свой проект, не вызывая ошибки Picture How-To:) http://hostthenpost.org/uploads/541be8420657320c74489ff8d456ad08.png