【问题标题】:How to use maven outside company's network?如何在公司网络外使用maven?
【发布时间】:2014-08-01 01:28:43
【问题描述】:

我的~/.m2/settings.xml 看起来像

<settings>

  <pluginGroups>
    <pluginGroup>org.inst.maven_inst_plugin</pluginGroup>
  </pluginGroups>
  <mirrors>
    <mirror>
      <id>local central mirror</id>
      <mirrorOf>central</mirrorOf>
     <url>http://maven.corp.org.com:9999/repository/public</url>
   </mirror>
   <mirror>
     <id>local codehaus snapshot mirror</id>
     <mirrorOf>codehaus</mirrorOf>
     <url>http://maven.corp.org.com:9999/proximity/repository/codehaus</url>
   </mirror>
   <mirror>
     <id>local codehaus mirror</id>
     <mirrorOf>codehaus snapshots</mirrorOf>
     <url>http://maven.corp.org.com:9999/proximity/repository/codehaus.snapshot</url>
   </mirror>
   <mirror>
     <id>local jboss mirror</id>
     <mirrorOf>jboss</mirrorOf>
     <url>http://maven.corp.org.com:9999/proximity/repository/jboss</url>
   </mirror>
   <mirror>
     <id>local maven2-repository.dev.java.net mirror</id>
     <mirrorOf>maven2-repository.dev.java.net</mirrorOf>
     <url>http://maven.corp.org.com:9999/repository/maven2-repository.dev.java.net</url>
   </mirror>
   <mirror>
     <id>local apache.snapshot mirror</id>
     <mirrorOf>apache.snapshot</mirrorOf>
     <url>http://maven.corp.org.com:9999/proximity/repository/apache.snapshot</url>
   </mirror>
   <mirror>
     <id>local maven-repository.dev.java.net mirror</id>
     <mirrorOf>maven-repository.dev.java.net</mirrorOf>
     <url>http://maven.corp.org.com:9999/repository/maven-repository.dev.java.net</url>
   </mirror>
   <mirror>
           <id> inhouse snapshot mirror</id>
           <mirrorOf>inhouse.snapshot</mirrorOf>
           <url>http://maven.corp.org.com:9999/repository/inhouse.snapshot</url>
   </mirror>
 </mirrors>
 <profiles>
 </profiles>
 <usePluginRegistry>true</usePluginRegistry>
</settings>

只要我在公司或使用vpn,它就可以正常工作。

我尝试了一个想法,发现由于我不在公司的网络中,maven无法下载,它挂起

Downloading: http://maven.corp.org.com:9999/repository/public/org/codehaus/cargo/cargo-maven2-plugin/maven-metadata.xml  

我尝试在项目的pom.xml 中设置存储库为

<repositories>
    <repository>
        <id>java.net</id>
        <url>https://maven.java.net/content/repositories/public/</url>
    </repository>
</repositories>

但这并没有帮助

问题
如何让 maven 在我公司的网络之外工作?

【问题讨论】:

  • 这看起来根本不是 Maven 的问题,似乎 maven.corp.org.com 只是不可公开访问。如果依赖项对公众可用,您可以使用不同的公共存储库 URL,但如果它们归您的公司所有,则您无能为力。你为什么要在没有 VPN 的情况下这样做?
  • 是的,所有依赖项都在外部可用。所以我尝试设置&lt;repository&gt; 但这仍然不起作用

标签: java xml maven pom.xml


【解决方案1】:

http://maven.corp.org.com:9999 将是贵公司的内部 Maven 存储库,用于存储公司工件并充当已批准的公共存储库(例如 Nexus 或 Artifactory)的代理。出于多种原因,您的公司将运行内部代理

  • 下载速度
  • 保护 IP/内部安全
  • 用户管理以控制对项目工件的访问
  • 合规性
  • 许可

我猜代理不是公开的。您可以在公共网络上使用您自己的直接指向公共存储库的地址替换您的 settings.xml,然后下载其中的任何内容,但您的雇主可能不希望您这样做。

如果您需要从办公室外访问 Maven 存储库,我希望您应该使用 VPN。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2011-02-28
    相关资源
    最近更新 更多