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