【问题标题】:install maven plugin locally本地安装maven插件
【发布时间】:2011-02-21 17:47:14
【问题描述】:

我相信您可以执行一个 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下怎么做吗?

【问题讨论】:

    标签: java maven-2 maven-plugin maven-3


    【解决方案1】:

    上述语法适用于 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

    【讨论】:

      【解决方案2】:

      处理插件和其他工件安装的最佳方法是在您的 LAN 上实现一个 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>
      

      说真的...最初设置需要一天的时间,但会让您的生活更轻松,并且不应该违反任何安全政策。它还有助于确保所有开发人员都使用完全相同版本的插件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-24
        • 1970-01-01
        相关资源
        最近更新 更多