Maven: Как установить плагин в автономном режиме - PullRequest
5 голосов
/ 22 июля 2010

Я сижу за брандмауэром, и поэтому maven не может подключиться к центральным репозиториям (сообщение об ошибке приводится ниже).

Однако я могу подключиться к Интернету через HTTP.

Как я могу установить плагин maven (например, archetype) в автономном режиме (то есть загрузить некоторый файл в браузер, а затем установить плагин, выполнив некоторые команды)?

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

Дмитрий

Р. S .: Вот сообщение об ошибке:

E:\>mvn archetype:generate -DarchetypeGroupId=com.vaadin
 -DarchetypeArtifactId=vaadin-archetype-clean -DarchetypeVersion=LATEST -DgroupI
d=at.swdev -DartifactId=pcc -Dversion=1.0 -Dpackaging=war
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] org.apache.maven.plugins: checking for updates from central
[WARNING] repository metadata for: 'org.apache.maven.plugins' could not be retri
eved from repository: central due to an error: Error transferring file: Connecti
on refused: connect
[INFO] Repository 'central' will be blacklisted
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin 'org.apache.maven.plugins:maven-archetype-plugin' does not exi
st or no valid version could be found
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Thu Jul 22 15:17:00 CEST 2010
[INFO] Final Memory: 1M/15M
[INFO] ------------------------------------------------------------------------

Ответы [ 3 ]

7 голосов
/ 23 июля 2010

Я сижу за брандмауэром, и поэтому maven не может подключиться к центральным репозиториям (сообщение об ошибке приводится ниже). Однако я могу подключиться к Интернету через HTTP.

Возможно, вам следует немного уточнить, потому что Maven также использует HTTP. Если вы подключаетесь через какой-либо прокси, вы МОЖЕТЕ настроить Maven для этого, объявив прокси в вашем ~/.m2/settings.xml. См. Настройка прокси .

Как я могу установить плагин maven (например, archetype) в автономном режиме (то есть загрузить некоторый файл в браузер, а затем установить плагин, выполнив некоторые команды)?

Вы можете установить любой jar-файл в локальный репозиторий, используя цель install:install-file (см. Страницу Использование ). Но это только малая часть истории, вам также нужно установить зависимости плагина. А потом зависимости от зависимостей. Это очень быстро станет настоящим кошмаром и неуправляемой задачей (которую Мэйвен точно пытается решить). Так что либо:

  • Настройка Maven для доступа в Интернет, если это возможно ~ или ~
  • Настройте корпоративный репозиторий (например, Nexus ) на выделенном компьютере, узнайте у своих администраторов, как разрешить ему доступ в Интернет) и настройте клиент Maven для его использования ~ или ~ *
  • Скопируйте «предварительно заполненный» локальный репозиторий с существующего компьютера на ваш компьютер и запустите maven в автономном режиме (со всеми вытекающими отсюда ограничениями) ~ или ~ *
  • Не используйте Maven
0 голосов
/ 20 января 2013

Полагаю, ваш брандмауэр безопасности не позволяет загружать файлы из центрального репозитория maven. Итак, вы можете просто указать зеркала в файле settings.xml в maven_home.если у вас есть какой-либо репозиторий для вашей компании, например, nexus, укажите URL-адрес сервера этого nexus в разделе зеркал в файле settings.xml.Обратите внимание, что в случае, если у вас нет репо для вашей компании, вы должны загрузить все зависимости в автономном режиме и установить с помощью mvn install в локальном репозитории на вашем сервере сборки.

0 голосов
/ 26 июля 2010

Если вы не можете использовать прокси, вы должны загрузить все зависимости плагина, как сказал Паскаль. Самый простой способ сделать это.

Загрузите все зависимости, используя машину с обычным / прокси-подключением http. У подключаемого модуля зависимостей Maven есть цель, которая может вам помочь. Зависимость mvn: go-offline

Например, я использую его, чтобы получить maven-зависимости учебника app-fuse.

svn co (http здесь) appfuse-demos.googlecode.com/svn/trunk/helloworld (проверить исходный код) установить mvn (установите и убедитесь, что он работает на обычной машине) mvn dependency: перейти в автономный режим (загружает все. Справка: говорит Maven разрешить все, от чего зависит этот проект (зависимости, плагины, отчеты) при подготовке к отключению.)

после этого в вашем локальном хранилище m2 (~ / m2 / хранилище) вы найдете все, что вам нужно. Заархивируйте эту папку. Получите это в вашей внутренней сети. распакуйте его в локальный репозиторий или корпоративный репозиторий (нексус, артефакт ..)

вы сможете использовать этот плагин сейчас.

http://maven.apache.org/plugins/maven-dependency-plugin/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...