Установка и использование Maven в проекте без подключения к Интернету - PullRequest
17 голосов
/ 07 июля 2011

Я новичок в проекте Maven.Я изменяю проект муравья на проект Maven.Чтобы установить сторонний jar-файл в локальный репозиторий maven, я использовал команду install.Это пытается загрузить ресурс jar.pom.У меня нет доступа к загрузке в моей организации, поэтому сборка не удалась для установки.После запроса я получил на рабочем столе банку с ресурсом и чистую банку (также я могу получить другую необходимую банку).Как заставить maven использовать эти jar-файлы для процесса и как установить jar-файл в локальный репозиторий без доступа в Интернет.

Я скачал jar-файл и поместил его в локальный репозиторий, но он не смог указать путь и использовать теjars.

пожалуйста, дайте мне знать, какие шаги я выполнил, чтобы запустить maven install и другие команды для сборки проекта без доступа к Интернету.

, куда я должен поместить jar, который я скачал внешнимway.

Пожалуйста, помогите мне для создания и развертывания проекта.

Заранее спасибо.

http://maven.40175.n5.nabble.com/Maven-installation-and-using-in-project-without-Internet-conncetion-tp4564443p4564443.html. http://www.coderanch.com/t/544641/Jobs-Offered/careers/Maven-installation-project-without-Internet#2471141

Iвыложил такой же вопрос по этой ссылке

Ответы [ 5 ]

13 голосов
/ 08 июля 2011

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

Я понимаю, что вы пришли из мира Ant, где Ant имеет все, что ему нужно, в локальной файловой системе. Однако Maven опирается на тот факт, что у него будет центральный репозиторий (либо Maven Central, либо ваш собственный репозиторий - Nexus, Artifactory и т. Д.), Из которого можно загружать необходимые ему плагины и зависимости. Нет смысла переходить на Maven, если вам не будет предоставлен доступ к Центральному хранилищу Maven.

Да, действительно, вы можете запустить Maven в автономном режиме, и вы можете попросить Maven создать локальный репозиторий для использования, когда Вы находитесь в автономном режиме. Однако , то, что вы пытаетесь сделать, противоречит принципам Maven.

Если ваша компания не разрешит доступ к Maven Central, просто придерживайтесь Ant. Ваши усилия будут пустой тратой вашей компании и, в конечном итоге, вашего собственного времени.

4 голосов
/ 07 июля 2011

Можно установить эти jar-ресурсы в вашем локальном репозитории Maven, используя install-file. Это сделает доступным для сборки. Вам придется делать это для каждого индивидуально, но как только это будет сделано, вам не нужно будет делать ничего особенного.

Чтобы было ясно, maven помещает все в ваш локальный репозиторий, как jar-файл, который вы создаете с помощью этого проекта, так и различные jar-файлы библиотеки. Поскольку ваша система не может быть подключена к Интернету, maven может заполнить локальный репозиторий вашими библиотеками, вам придется использовать этот ручной подход.

Редактировать: Вы должны иметь возможность запускать install-file в любом месте. Когда вы это сделаете, вам нужно будет указать groupId, artifactId, версию и упаковку, используя параметры командной строки. Если у вас уже есть POM-файл для библиотеки, вы можете предоставить его вместо -DpomFile=your-pom.xml.

Этот вопрос содержит полезную информацию: Как вручную установить артефакт в Maven 2?

4 голосов
/ 07 июля 2011

На самом деле сильная сторона в основном в доступных через Интернет репозиториях и автоматическом управлении зависимостями.Но вы можете использовать этот инструмент для построения вашего проекта, если у вас есть все зависимости, необходимые для вашего проекта в вашем локальном хранилище.Затем вы можете использовать опцию -o для автономного режима, и maven не будет пытаться загружать обновленные версии артефактов.

Чтобы получить артефакты в локальный репозиторий, у вас есть несколько вариантов:

1) подключитьсяодин раз в интернете и mvn создаст проект (это загрузит все необходимые зависимости)

2) установит зависимости как jar для локального репозитория вручную (используя соответствующую команду mvn)

3 голосов
/ 22 мая 2014

Я думаю, что спрашивающий ищет опцию -o или --offline для mvn. Это опция командной строки, которая может быть предоставлена ​​при выполнении.

Я думаю, что вы можете правильно настроить репо и выполнить цели mvn один раз, когда вы подключены к Интернету, и использовать опцию -o для последующих исполнений.

Надеюсь, это поможет.

~ Абхай

3 голосов
/ 07 июля 2011

Вы можете настроить maven для работы в автономном режиме. Добавьте эту запись к вашему settings.xml

<offline>true</offline>

См. Здесь для получения дополнительной информации:

http://maven.apache.org/settings.html

Прежде чем вы сможете использовать автономный режим, вы должны установить все необходимые сторонние файлы jar в локальный репозиторий maven.

mvn install:install-file
 -Dfile=filename.jar
 -DgroupId=com.stackoverflow
 -DartifactId=artifact
 -Dversion=1.0.0
 -Dpackaging=jar
 -DcreateChecksum=true
 -DgeneratePom=true

Гораздо проще получить эти банки в вашем локальном хранилище, используя подключение к Интернету и онлайн-режим.

...