我相信你可以执行一个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下执行此操作?
答案 0 :(得分: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)
答案 1 :(得分:0)
处理插件和其他工件安装的最佳方法是在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>
说真的......最初设置需要一天时间,但会让您的生活更轻松,不应违反任何安全政策。它还有助于确保所有开发人员都使用完全相同的插件版本。