如何解决如何让Maven从Nexus下载但绕过外部jar
我了解Nexus应该下载外部依赖项,但公司Nexus服务器(我无法控制)无法访问Internet或下载外部jar。
作为一种解决方法,我有两个手动切换的settings.xml文件。一个settings.xml使用公司Nexus服务器作为内部jar,而另一个使用company代理从默认的Maven存储库下载外部依赖项。一旦所有依赖项都在我的本地Maven存储库中,编译工作就完成了。
Nexus的settings.xml(不包括代理)
<settings>
<mirrors>
<mirror>
<id>some-repo-mirror</id>
<mirrorOf>*</mirrorOf>
<url>https://brokennexus/repository/maven-public/</url>
</mirror>
</mirrors>
<servers>
<server>
<id>some-repo-mirror</id>
<username>me</username>
<password>secret</password>
</server>
</servers>
</settings>
用于互联网的settings.xml(不包括镜像和服务器)
<settings>
<proxies>
<proxy>
<id>company-proxy-http</id>
<active>true</active>
<protocol>http</protocol>
<username>me</username>
<password>secret</password>
<host>proxy.server</host>
<port>8080</port>
</proxy>
<proxy>
<id>company-proxy-https</id>
<active>true</active>
<protocol>https</protocol>
<username>me</username>
<password>secret</password>
<host>proxy.server</host>
<port>8080</port>
</proxy>
</proxies>
</settings>
两个文件都可以单独工作,但是我不知道如何将它们组合成一个文件。
有没有一种方法可以配置Maven,如果公司Nexus无法解决依赖关系,它将回退并尝试通过公司的Internet代理或其他方式从外部存储库中下载文件,这样我就不会必须在两个settings.xml文件之间切换?
解决方法
您可以在“常规” settings.xml
中配置代理,并将Nexus排除为nonProxyHost:
https://maven.apache.org/guides/mini/guide-proxies.html
此外,您需要将镜像配置<mirrorOf>*</mirrorOf>
更改为<mirrorOf>*,!central</mirrorOf>
之类的内容,才能连接MavenCentral(和其他存储库直接)。
当然,首选的解决方案是与管理员联系,如果他们可以将外部存储库添加到Nexus公司。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。