如何在公司网络外使用maven?

时间:2014-08-01 01:28:43

标签: java xml maven pom.xml

我的~/.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在我公司的网络外工作?

1 个答案:

答案 0 :(得分:1)

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

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

我猜测代理不公开。您可以使用公共网络将您自己的settings.xml直接替换为公共存储库并下载其中的任何内容,但您的雇主可能更愿意您没有。

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