java - 如何在公司外网使用maven?

标签 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在我公司的网络之外工作?

最佳答案

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

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

我猜代理不是公开可用的。您可以进入公共(public)网络,将您的 settings.xml 替换为您自己的直接指向公共(public)存储库的内容,并下载其中的任何内容,但您的雇主可能不希望您这样做。

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

关于java - 如何在公司外网使用maven?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25071505/

相关文章:

java - 从android中的Java main获取(String[] args)

java - 打包 Tomcat

xml - 需要关于如何编写测试用例的建议

java - map getOrDefault返回对象时如何返回整数

java - 带有 MVP 的 Dagger 2,避免在 View 重新创建时创建额外的演示者对象

Photoshop 中的 Android 布局

python - 属性“invisible”在 odoo 中不起作用

java - maven 中的 -Denvironment 选项是什么?

android - 通过gradle导入时运行时找不到Kotlin反射实现

java - Eclipse Maven 构建不包含对生成的 Jar 文件的依赖关系