установить плагин Maven локально - PullRequest
2 голосов
/ 21 февраля 2011

Я считаю, что есть команда maven, которую вы можете выполнить, чтобы загрузить и установить плагин в локальном хранилище.Что-то вроде:

mvn plugin:download -DartifactId=maven-war-plugin 
-DgroupId=org.apache.maven.plugins -Dversion=2.1.1  
-Dmaven.repo.remote=http://www.ibiblio.org/maven,http://maven-plugins.sourceforge.net/repository

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

Синтаксис выше не работает, кто-нибудь знает, как это сделать в Maven 3.0.2?

Ответы [ 2 ]

1 голос
/ 22 февраля 2011

Вышеуказанный синтаксис предназначен для Maven 1.0, который работает очень по-разному с Maven 2.0 и Maven 3.0.Вы должны продолжать ссылаться на плагин так, как вы бы это делали - через POM в этом случае или через командную строку напрямую для некоторых типов команд.Чтобы строго контролировать, какие артефакты загружаются, вы можете использовать менеджер хранилища (например, Apache Archiva, Artifactory или Nexus) для вмешательства (а также добавить несколько интересных функций).

Вот как заставить Maven использоватьвместо этого управляемый репозиторий: http://archiva.apache.org/docs/1.3.4/userguide/using-repository.html

Вы можете добавить к нему только те артефакты, которые хотите использовать, или настроить правила для извлечения извне (например, http://archiva.apache.org/docs/1.3.4/adminguide/proxy-connectors.html)

0 голосов
/ 23 февраля 2011

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

<pluginRepositories>
    <pluginRepository>
        <id>mycorp-plugin-release</id>
        <name>My Companys Nexus repository for plugin artifact releases</name>
        <url>https://intranet.mycorp.com/nexus/content/repositories/releases</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

Серьезно ... для первоначальной настройки потребуется день, носделает вашу жизнь проще и не должна нарушать ЛЮБУЮ политику безопасности.Это также поможет убедиться, что все разработчики используют одну и ту же версию плагина.

...