Maven:如何在离线模式下安装插件

时间:2010-07-22 18:30:31

标签: maven-2

我坐在防火墙后面,因此maven无法连接到中央存储库(错误信息如下)。

但是,我可以通过HTTP连接到互联网。

如何在离线模式下安装maven插件(例如archetype)(即在浏览器中下载一些文件,然后通过执行一些命令安装插件)?

提前致谢

的Dmitri

P上。 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 个答案:

答案 0 :(得分:7)

  

我坐在防火墙后面,因此maven无法连接到中央存储库(下面给出了错误消息)。但是,我可以通过HTTP连接到Internet。

也许你应该澄清一点,因为Maven也使用HTTP。如果您通过某种代理连接,您可以通过在~/.m2/settings.xml中声明代理来配置Maven。请参阅Configuring a proxy

  

如何在离线模式下安装maven插件(例如archetype)(即在浏览器中下载一些文件,然后通过执行一些命令安装插件)?

您可以使用install:install-file目标在本地存储库中安装任何jar(请参阅Usage页面)。但这只是故事的一小部分,您还需要安装插件的依赖项。然后是依赖关系的依赖关系。这将很快成为一个真正的噩梦和无法管理的任务(Maven正是试图解决)。所以:

  • 如果可能,请将Maven配置为访问Internet〜或〜
  • 在专用计算机上设置公司存储库(如Nexus),与管理员联系,了解如何允许其访问Internet)并配置您的Maven客户端以使用它〜或〜
  • 将“预先填充的”本地存储库从现有计算机复制到您的计算机并离线运行maven(具有所示的所有限制)〜或〜
  • 不要使用Maven

答案 1 :(得分:0)

答案 2 :(得分:0)

我猜您的安全防火墙不允许您从maven central repo下载。因此,您只需在maven_home的settings.xml文件中指定镜像即可。如果您的公司有任何存储库,如nexus,请在settings.xml的镜像部分中提供该nexus的服务器URL。   请注意,如果您的公司没有任何仓库,则必须脱机下载所有依赖项,并使用mvn install在构建服务器的本地存储库中进行安装。