我的~/.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/